结构初始化的四种方法

//结构体原型
typedef struct {
    int a;
    int b;
    int c;
}AA;

1.一般初始化法

AA S1={1,2,3};

 

2.先定义后初始

AA s2;
s2.a=1;
s2.b=2;
s2.c=3;

 

3.指定式初始化法

AA s3={
    .a=1,
    .c=3
};

注:此种初始化方法,在linux内核和驱动编写中经常使用,两条初始化语句之间用 "," 隔开。

 

4.使用define宏初始化

#define INIT1(X,Y,Z) {X,Y,Z}
#define INIT2(X,Z) {.a=X, .c=Z}

AA s4=INIT1(1,2,3);  //AA s4={1,2,3};
AA s5=INIT2(4,6);    //AA s5={.a=4, .c=6};

猜你喜欢

转载自blog.csdn.net/isco22/article/details/89632402