c 基础系列 define struct and init struct array

1. struct defination

    struct  _name

 {

         int a;

        char*b;

  ...

    }

 一般之后还要typedef it to let its use be convenient, for example:

    typedef struct _name name;

   or directly write:

   typedef strunct _name

   {

         int a;

        char*b;

  ...  

   }name;

2. initialization

    name x={3,"char",...};

3. initialize an array of struct:

   name arr[]={

        {1,"xy",...},

        {2,"ab",...},

        ...

                       };

The code fragment below demonstrates how to initialize an array of structures within a Microsoft C program. Each element is grouped within brackets, and the elements are separated by commas. The initialization of the array rgttype shows how to initialize a structure within a structure within an array of structures.

/* Compile options needed:  none
*/

struct stype {
int a;
int b;
int c;
};

struct ttype {
int alpha;
struct stype beta;
};

/* a, b, c */
struct stype rgstype[2] = { {8, 9, 10}, \
{15, 16, 17} };

/* alpha beta */
struct ttype rgttype[2] = { {{1}, {2,3,4}}, \
{{5}, {6,7,8}} };

 

原文地址:https://www.cnblogs.com/alexyuyu/p/2354133.html