2024年6月2日发(作者:)
C语言给结构体指针赋值
C语言中结构体指针赋值是通过直接赋值或者使用间接访问运算符来
实现的,下面将详细介绍两种方法。
方法一:直接赋值
在C语言中,可以通过直接赋值来为结构体指针赋值。下面是一个例
子:
```c
#include
#include
//定义一个结构体
typedef struct
int id;
char name[20];
int age;
} Person;
int mai
//创建结构体指针
Person* p = (Person*)malloc(sizeof(Person));
//直接赋值
p->id = 001;
strcpy(p->name, "John");
p->age = 20;
//输出结构体指针的值
printf("Person ID: %dn", p->id);
printf("Person Name: %sn", p->name);
printf("Person Age: %dn", p->age);
//释放内存
free(p);
return 0;
```
在上面的例子中,首先通过malloc函数动态分配了一个Person结构
体的内存空间,然后可以通过直接赋值的方式为结构体指针p的成员赋值,
最后通过访问成员的方式输出结构体指针的值。注意,在结束程序之前要
使用free函数释放动态分配的内存空间。
方法二:间接访问运算符
C语言中,还可以使用间接访问运算符来为结构体指针赋值。下面是
一个例子:
```c
#include
#include
//定义一个结构体
typedef struct
int id;
char name[20];
int age;
} Person;
int mai
//创建结构体指针
Person* p = (Person*)malloc(sizeof(Person));
//间接访问运算符
(*p).id = 001;
strcpy((*p).name, "John");
(*p).age = 20;
//输出结构体指针的值
printf("Person ID: %dn", (*p).id);
printf("Person Name: %sn", (*p).name);
printf("Person Age: %dn", (*p).age);
//释放内存
free(p);
return 0;
```
在上面的例子中,首先通过malloc函数动态分配了一个Person结构
体的内存空间,然后可以通过间接访问运算符(*p)来访问结构体指针p的
成员,并赋予新的值。最后通过访问成员的方式输出结构体指针的值。同
样的,在结束程序之前要使用free函数释放动态分配的内存空间。
以上是C语言中给结构体指针赋值的两种常见方法,使用直接赋值或
者间接访问运算符都可以实现结构体指针的赋值操作,具体使用哪种方法
取决于个人喜好和代码风格。无论使用哪种方法,都需要确保在结束程序
之前释放动态分配的内存空间,以避免内存泄漏。
发布评论