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}} };

 

posted @ 2012-02-16 14:14  alxe_yu  阅读(558)  评论(0编辑  收藏  举报