Initialize elements in an array

  • Follow


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??
0
Reply Mars 1/27/2005 8:03:13 PM

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~~
0
Reply Mars 1/27/2005 9:59:22 PM


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.

0
Reply alexmdac (29) 1/28/2005 8:35:23 AM

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

0
Reply prasad.gba (1) 1/28/2005 12:37:03 PM

"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
0
Reply rlb (4118) 1/28/2005 12:51:10 PM

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).
0
Reply infobahn (503) 1/28/2005 1:02:04 PM

5 Replies
47 Views

(page loaded in 0.107 seconds)

Similiar Articles:













7/13/2012 3:59:41 AM


Reply: