Initialize elements in an array

Discussion in 'C Programming' started by Mars, Jan 27, 2005.

  1. Mars

    Mars Guest

    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??
    Mars, Jan 27, 2005
    1. Advertisements

  2. Mars

    Mars Guest

    so that's the same as Java~

    Mars, Jan 27, 2005
    1. Advertisements

  3. Mars

    alexmdac Guest

    You can use initialiser lists when you define your array e.g.

    int array[5] = { 1, 2, 3, 4, 5 };
    I often use memset to zero arrays.
    alexmdac, Jan 28, 2005
  4. Mars

    Prasad Guest

    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
    Though, not sure what the ANSI "C" standards book says about the init
    of the remaining elements.

    ~ Prasad
    Prasad, Jan 28, 2005
  5. Mars

    Richard Bos Guest

    To add _to what_? Learn to use Google Broken Beta properly, get it to
    provide a proper quotation, or get a real newsreader!
    Not most. All. The Standard requires it.

    Richard Bos, Jan 28, 2005
  6. Mars

    infobahn Guest

    This is guaranteed.
    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).
    infobahn, Jan 28, 2005
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.