Visit Our UNIX and Linux User Community


String Constant C


 
Thread Tools Search this Thread
Top Forums Programming String Constant C
# 1  
Old 08-15-2013
String Constant C

I wonder string constant exists permanently or temporary.

For example,

printf("hello, world");

the function printf access to it is through a pointer. Does it mean storage is allocated for the string constant to exist permanently in memory? Smilie
# 2  
Old 08-15-2013
The duration of objects in a C program varies.

"Hello World" is a constant and the memory persists for the duration of the program. The pointer is only visible from the function it was called from, the way you have coded it.
# 3  
Old 08-15-2013
For example,
Code:
int *pointer = "Hello, World";

Is the string constant available until the pointer variable as an automatic variable is discarded?
# 4  
Old 08-15-2013
Quote:
Originally Posted by kris26
For example,
Code:
int *pointer = "Hello, World";

Is the string constant available until the pointer variable as an automatic variable is discarded?
String literals are static objects so they are in existence as long as the program is running. As "pointer" is an automatic variable it is discarded upon exit from the block in which it is defined but the string literal will still be in memory but you wont have a handle for accessing it anymore. Automatic variables are on the stack segment while static objects are in the text segment or the readonly portion of the data segment and yes the compiler automatically allocates storage for them without the programmer having to do anything...
# 5  
Old 09-04-2013
Yes they are embedded in the code, if you do a strings(1) on your program you will see them.

Previous Thread | Next Thread
Test Your Knowledge in Computers #289
Difficulty: Easy
Sun Microsystems was acquired by Oracle Corporation in 2012.
True or False?

7 More Discussions You Might Find Interesting

1. Debian

LM 17.3 xfce constant lagging

I'm using LM 17.3x LIVE. Have constant and sometimes, severe lagging issues. Problems started when I "upgraded" to 18.3x. I tried 5 other distros all with the same issues. Went back to 17.3 and , alas, the problem followed. Found this: sudo gedit /etc/sysctl. conf vm. swappiness = 15, but all it... (4 Replies)
Discussion started by: 69Rixter
4 Replies

2. Shell Programming and Scripting

How to solve awk: line 1: runaway string constant error?

Hi All ! I am just trying to print bash variable in awk statement as string here is my script n=1 for file in `ls *.tk |sort -t"-" -k2n,2`; do ak=`(awk 'FNR=='$n'{print $0}' res.dat)` awk '{print "'$ak'",$0}' OFS="\t" $file n=$((n+1)) unset ak doneI am getting following error awk:... (7 Replies)
Discussion started by: Akshay Hegde
7 Replies

3. Shell Programming and Scripting

Trouble appending string constant to variable

Hi. I define my variables as: month=jul DD=17 YEAR=2012 transmission_file_name_only=test_$month$DD$YEAR_partial.dat However when I run my script the variable 'transmission_file_name_only' resolves to: File "/downloads/test_jul17.dat" not found. How can I append this '_partial'... (3 Replies)
Discussion started by: buechler66
3 Replies

4. Solaris

Constant disturbing messages????

Hi friends, I am new to Solaris, I have just managed to install Solaris 10 under VirtualBox. As I use the system, I constantly get some very disturbing error messages on my screen, I hope you will help me remove them. Messages are # syslogd: line 24: WARNING: loghost could not be resolved ... (6 Replies)
Discussion started by: gabam
6 Replies

5. Shell Programming and Scripting

choose random text between constant string.. using awk?

Hallo I have maybe a little bit advanced request.... I need to choose one random part betwen %.... so i have this.. % text1 text1 text1 text1 text1 text1 text1 text1 text1 % text2 text2 text2 text2 text2 % text3 text3 text3 tetx3 % this choose text between % awk ' /%/... (8 Replies)
Discussion started by: sandwich
8 Replies

6. Shell Programming and Scripting

Constant mirroring

I'm not sure how to best explain what I'd like to do, so let me give an example. I used to work in a department that deals with internet security. This department had an "internal" website (only people in the building can get on it) and an "external" website (anyone in the world can get on it --... (1 Reply)
Discussion started by: sstevens
1 Replies

7. Programming

'strlen' of a constant string

In a declaration, I have: const char comment_begin = "<!--"; const char comment_end = "-->"; const int comment_begin_len = strlen(comment_begin); const int comment_end_len = strlen(comment_end); When I compile, I get the warnings: emhttpc.c:64: warning: initializer element is not... (10 Replies)
Discussion started by: cleopard
10 Replies

Featured Tech Videos