在声明结构体是初始化一个对象
时间: 2024-10-09 22:13:12 浏览: 29
c++结构体的初始化和赋值1
在C语言中,当你声明一个结构体并想要初始化它时,通常有两种方式:
1. 初始化结构体实例:
```c
struct Student student1;
student1.cName = "John Doe"; // 直接赋值给成员
student1.number = 1234;
student1.csex = 'M'; // 字符型成员直接赋值
```
2. 对于结构体指针,如果在声明时不立即分配内存(即未指向具体结构体),需要先动态分配内存,然后再进行初始化:
```c
struct Student *stu;
stu = malloc(sizeof(struct Student)); // 分配内存
if (stu != NULL) {
stu->cName = (char *)malloc(sizeof(char) * 20); // 分配名字部分的内存
stu->cName = "John Doe";
stu->number = 1234;
stu->csex = 'M';
}
```
注意,`malloc()`用于动态分配内存,分配完毕后别忘了检查返回值,以确保内存分配成功。
阅读全文