![]() |
Initialize elements in an array
If I want to initialize elements in an array (to a value),
is using for loops the only method?? Is there any specific functions to do that?? |
Re: Initialize elements in an array
alexmdac@hotmail.com mentioned:
> Mars wrote: > >>If I want to initialize elements in an array (to a value), >>is using for loops the only method?? > > > You can use initialiser lists when you define your array e.g. > > int array[5] = { 1, 2, 3, 4, 5 }; > icic~ so that's the same as Java~ > >>Is there any specific functions to do that?? > > I often use memset to zero arrays. > yup~ thx~~ |
Re: Initialize elements in an array
Mars wrote:
> If I want to initialize elements in an array (to a value), > is using for loops the only method?? You can use initialiser lists when you define your array e.g. int array[5] = { 1, 2, 3, 4, 5 }; > Is there any specific functions to do that?? I often use memset to zero arrays. |
Re: Initialize elements in an array
To add -
If you wish to only init few items then you may use : int x[5] = {9, 3}; In the above example, only the first two elements are set to the values mentioned, most compilers do initialise the rest of the elements to zero. Though, not sure what the ANSI "C" standards book says about the init of the remaining elements. ~ Prasad |
Re: Initialize elements in an array
"Prasad" <prasad.gba@gmail.com> wrote:
> To add - To add _to what_? Learn to use Google Broken Beta properly, get it to provide a proper quotation, or get a real newsreader! > If you wish to only init few items then you may use : > int x[5] = {9, 3}; > In the above example, only the first two elements are set to the values > mentioned, most compilers do initialise the rest of the elements to > zero. Not most. All. The Standard requires it. Richard |
Re: Initialize elements in an array
Prasad wrote:
> > To add - > If you wish to only init few items then you may use : > int x[5] = {9, 3}; > In the above example, only the first two elements are set to the values > mentioned, most compilers do initialise the rest of the elements to > zero. This is guaranteed. > Though, not sure what the ANSI "C" standards book says about the init > of the remaining elements. In the case of a partially-initialised aggregate or union object, "all subobjects that are not initialized explicitly shall be initialized implicitly the same as objects that have static storage duration." - 6.7.8(19). "If an object that has static storage duration is not initialized explicitly, then: — if it has pointer type, it is initialized to a null pointer; — if it has arithmetic type, it is initialized to (positive or unsigned) zero; — if it is an aggregate, every member is initialized (recursively) according to these rules; — if it is a union, the first named member is initialized (recursively) according to these rules." - 6.7.8(10). |
| All times are GMT. The time now is 01:17 PM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.