Diferentes formas de inicializar todos los miembros de una array con el mismo valor en C

Una array es una colección de datos que contiene un número fijo de valores del mismo tipo. Por ejemplo: si desea almacenar calificaciones de 100 estudiantes, puede crear una array para ello.

int num[100];

¿Cómo declarar una array en C?

Data_type  array_name[size_of_array];

Por ejemplo,

float num[10];

A continuación se muestran algunas de las diferentes formas en que todos los elementos de una array se pueden inicializar con el mismo valor:

  1. Lista de inicializadores : para inicializar una array en C con el mismo valor, la forma ingenua es proporcionar una lista de inicializadores. Usamos esto con arreglos pequeños.
    int num[5] = {1, 1, 1, 1, 1};
    

    Esto inicializará la array num con el valor 1 en todos los índices.
    También podemos ignorar el tamaño de la array:

    int num[ ] = {1, 1, 1, 1, 1}
    

    La array se inicializará a 0 en caso de que proporcionemos una lista de inicializadores vacía o simplemente especifiquemos 0 en la lista de inicializadores.

    int num[5] =  { };                // num = [0, 0, 0, 0, 0]
    int num[5] =  { 0 };             // num = [0, 0, 0, 0, 0]
    
  2. Inicializador designado : este inicializador se usa cuando queremos inicializar un rango con el mismo valor. Esto se usa solo con compiladores GCC.
    [ primero . . . último ] = valor;
    int num[5]={ [0 . . . 4 ] = 3 };               // num = { 3, 3, 3, 3, 3}
    

    También podemos ignorar el tamaño de la array:

    int num[  ]={ [0 . . . 4 ] = 3 };               // num = { 3, 3, 3, 3, 3}
    
  3. Macros : para inicializar una gran array con el mismo valor, podemos usar macros.

    #include<stdio.h>
      
    #define x1 1
    #define x2 x1, x1
    #define x4 x2, x2
    #define x8 x4, x4
    #define x16 x8, x8
    #define x32 x16, x16
      
    int main(void)
    {
    // array declaration
    int num[] = { x32, x8, x4, x1};
    int size = sizeof(num)/ sizeof(int);    // 32+8+4+1= 45
      
    printf("The size of the array is %d\n", size);
    printf("The value of element in the array at index 5 is %d "
                                        num[4]);
      
    return 0;
      
    }
    Producción:

    The size of the array is 45
    The value of element in the array at index 5 is 1
    
  4. Usando For Loop : También podemos usar for loop para inicializar una array con el mismo valor.

    #include<stdio.h>
      
    int main(void)
    {
        int size = 6;
        int val = 1;
      
        // array declaration
        int arr[size];
        int i;
      
        // initializing array elements
        for (i = 0; i < size ; i++){
            arr[i] = val;
        }
      
         // print array
         printf("The array is:");
         for (i = 0; i < size ; i++){
             printf("%d ", arr[i]);
        }
      
        return 0;
    }
    Producción:

    The array is:1 1 1 1 1 1
    

Publicación traducida automáticamente

Artículo escrito por AkshitaSaraf y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *