- 结构体初始化有三种方法,代码例子如下:
#include <stdio.h>
#include <assert.h>
#include <string.h>
#include <stdlib.h>
typedef struct _Person
{
char *name;
int age;
}Person;
int main(void)
{
//方法一:按照成员声明的顺序初始化
Person p1 = {"A", 18};
printf("name=%s, age=%d.\n", p1.name, p1.age);
//方法二:点"."后面跟成员名方法,成员顺序不固定,Linux内核多采用此方法
//gcc不支持后缀名为cpp的文件使用这种方式
Person p2 = {
.age = 28,
.name = "B",
};
printf("name=%s, age=%d.\n", p2.name, p2.age);
//方法三:成员名后面跟冒号":"的方法,成员顺序不固定
//gcc不支持后缀名为cpp的文件使用这种方式
Person p3 = {
name: "C",
age: 38,
};
printf("name=%s, age=%d.\n", p3.name, p3.age);
return 0;
}
- 运行结果如下:
Result.png
网友评论