Arrays in C represent contiguous blocks of memory of a single data type. Uninitialized local arrays contain garbage stack memory values. Initializing arrays cleanly using C99 designated initializers or zero-fill expressions is vital for system safety.

Array Initialization Methods Code Reference

array_init.cc
#include <stdio.h>
#include <string.h>
 
int main(void) {
    // 1. Full Explicit Initialization
    int arr1[5] = {10, 20, 30, 40, 50};
 
    // 2. Partial Zero Initialization (Remaining elements set to 0)
    int arr2[100] = {0}; // All 100 elements initialized to 0
 
    // 3. C99 Designated Initializer (Sparse Initialization)
    int arr3[10] = {[0] = 1, [5] = 42, [9] = 99};
 
    // 4. Multi-dimensional 2D Array
    int matrix[2][3] = {
        {1, 2, 3}, // Row 0
        {4, 5, 6}  // Row 1
    };
 
    printf("arr3[5]: %d, matrix[1][2]: %d\n", arr3[5], matrix[1][2]);
    return 0;
}