C语言中结构体初始化的常用方式有以下几种:
- 直接初始化(注意用花括号括起来)
例如: struct Person p = {"Tom", 20};
- 部分初始化(只针对某些成员进行初始化)
例如: struct Person p = {.name="Tom"};
- 按顺序初始化(按照结构体定义顺序进行初始化)
例如: struct Person p = {"Tom", 20};
要注意的是,如果结构体中含有指针等动态分配内存的成员,需要特别小心初始化顺序和方式,避免内存泄漏等问题。
以下是一个示例代码:
#include <stdio.h>
struct Person { char name[20]; int age; };
int main() { // 直接初始化 struct Person p1 = {"Tom", 20}; printf("%s %d\n", p1.name, p1.age);
// 部分初始化
struct Person p2 = {.name="Jerry"};
printf("%s %d\n", p2.name, p2.age);
// 按顺序初始化
struct Person p3 = {"Bob", 22};
printf("%s %d\n", p3.name, p3.age);
return 0;
}