除了使用malloc函数,申请一个结构体指针并初始化
时间: 2023-07-19 19:31:42 浏览: 109
08_07_C_04_结构体指针
除了使用malloc函数,还可以使用静态分配的方式来申请结构体指针并初始化,具体方法如下:
```c
#include <stdio.h>
#include <stdlib.h>
struct person {
char name[20];
int age;
};
int main() {
// 静态分配结构体指针
struct person *p = NULL;
struct person p1 = {"张三", 20};
// 将静态分配的结构体指针指向结构体变量
p = &p1;
// 访问结构体成员
printf("姓名:%s,年龄:%d\n", p->name, p->age);
return 0;
}
```
在上面的代码中,我们首先定义了一个结构体`person`,然后通过静态分配的方式申请了一个结构体指针`p`,然后将其指向结构体变量`p1`,最后访问结构体成员。需要注意的是,静态分配的结构体指针只能指向已经存在的结构体变量,而不能像使用`malloc`函数那样动态地创建新的结构体变量。
阅读全文