C语言结构体成员付初值
时间: 2023-11-02 14:53:27 浏览: 237
在C语言中,可以通过以下几种方式为结构体成员赋初值:
1. 在对结构体变量初始化时,要对结构体成员一一赋值,不能跳过前面成员变量,而直接给后面成员赋初值。但是可以只赋值前面几个,对于后面未赋值的变量,如果是数值型,则会自动赋值为0;对于字符型,则会自动赋初值为NULL,即‘\0’。例如:
```
struct student {
char name\[20\];
char sex;
int num;
} x = {"zhangsan", 'm', 1234};
```
2. 定义时直接赋值。可以在结构体定义时直接为成员赋初值。例如:
```
struct student {
char name\[20\];
char sex;
int num;
} s = {"zhangsan", 'm'};
```
3. 使用结构体变量.结构体成员的形式。可以通过结构体变量后跟点号(.)再跟成员名的方式为成员赋值。例如:
```
struct stu {
char name;
int age;
char sex\[10\];
} s;
s.name = 'w';
s.age = 19;
strcpy(s.sex, "female");
```
4. 一般的结构体成员输出。可以通过结构体变量后跟点号(.)再跟成员名的方式来访问结构体成员并输出。例如:
```
struct student {
char name\[20\];
char sex;
int num;
} s = {"zhangsan", 'm', 123};
printf("%s\n", s.name);
printf("%c\n", s.sex);
printf("%d\n", s.num);
```
以上是C语言中为结构体成员赋初值的几种方式。可以根据具体的需求选择适合的方式进行赋值。\[1\]\[2\]\[3\]
#### 引用[.reference_title]
- *1* *3* [C语言 结构体](https://blog.csdn.net/qq_62316056/article/details/124313297)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [C语言结构体](https://blog.csdn.net/qq_64521581/article/details/122990125)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文