Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > C > Re: When you de...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 8 of 9 Topic 26076 of 26972
Post > Topic >>

Re: When you declare an array of chars and store a string in it, where is the position of the null character \0? And what happens to the unused memory locations?

by "Default User" <defaultuserbr@[EMAIL PROTECTED] > May 5, 2008 at 10:51 PM

Gary wrote:

> When you declare an array of chars and store a string in it, where is
> the position of the null character \0? 

After the last character of string data.

> And what happens to the unused
> memory locations?

They are set to zero.

> #include <stdio.h>
> int main(void)
> {
> char gstring2[25] = "dudes";
> gstring2[5] = 'a';
> printf("%s \n", gstring2);
> return 0;
> }
> 
> The output of main function was
> 
> dudesa

You overwrote the null terminator with a character.

> How come this code works,

Because there were extra characters that were set to zero due to the
partial initialization.

> and the statement
> gstring2[5] = 'a';
> doesn't overwrite the null character?

It did, but a new terminator was in place.

If you had this:


char str[] = "dudes";

Then you'd probably be in trouble. The next adjacent byte wouldn't even
belong to your object so overwriting the null terminator would cause
undefined behavior as soon as you tried a string operation.



Brian
 




 9 Posts in Topic:
When you declare an array of chars and store a string in it, whe
Gary <fordgwf@[EMAIL P  2008-05-05 15:04:29 
Re: When you declare an array of chars and store a string in it,
Peter Nilsson <airia@[  2008-05-05 15:17:44 
Re: When you declare an array of chars and store a string in it,
arnuld <sunrise@[EMAIL  2008-05-07 08:11:13 
Re: When you declare an array of chars and store a string in it,
"rio" <a@[EM  2008-05-06 18:34:59 
Re: When you declare an array of chars and store a string in it,
"Default User"   2008-05-06 16:59:49 
Re: When you declare an array of chars and store a string in it,
"rio" <a@[EM  2008-05-06 19:31:27 
Re: When you declare an array of chars and store a string in it,
"rio" <a@[EM  2008-05-06 19:31:55 
Re: When you declare an array of chars and store a string in it,
"Default User"   2008-05-05 22:51:22 
Re: When you declare an array of chars and store a string in it,
Ben Bacarisse <ben.use  2008-05-06 18:27:35 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Fri Jul 25 21:27:25 CDT 2008.