Assign multiple values to array in C

前端 未结 8 1277
无人共我
无人共我 2020-12-01 14:01

Is there any way to do this in a condensed form?

GLfloat coordinates[8];
...
coordinates[0] = 1.0f;
coordinates[1] = 0.0f;
coordinates[2] = 1.0f;
coordinates         


        
8条回答
  •  误落风尘
    2020-12-01 14:17

    typedef struct{
      char array[4];
    }my_array;
    
    my_array array = { .array = {1,1,1,1} }; // initialisation
    
    void assign(my_array a)
    {
      array.array[0] = a.array[0];
      array.array[1] = a.array[1];
      array.array[2] = a.array[2];
      array.array[3] = a.array[3]; 
    }
    
    char num = 5;
    char ber = 6;
    
    int main(void)
    {
      printf("%d\n", array.array[0]);
    // ...
    
      // this works even after initialisation
      assign((my_array){ .array = {num,ber,num,ber} });
    
      printf("%d\n", array.array[0]);
    // ....
      return 0;
    }
    

提交回复
热议问题