怎么用结构体存储数据
在C语言中,我们可以使用结构体来存储不同类型的数据。结构体是一种用户自定义的数据类型,可以将不同类型的数据组合在一起,并且可以命名这个组合。以下是一个示例:
#include <stdio.h>
// 定义一个结构体
struct Person {
char name[20];
int age;
float height;
};
int main() {
// 声明一个结构体变量
struct Person person1;
// 为结构体变量赋值
strcpy(person1.name, "张三");
person1.age = 20;
person1.height = 1.8;
// 输出结构体变量的值
printf("姓名:%s\n", person1.name);
printf("年龄:%d\n", person1.age);
printf("身高:%f\n", person1.height);
return 0;
}
在上面的示例中,我们首先定义了一个名为Person的结构体,它有三个成员变量:name、age和height。然后在main函数中声明了一个名为person1的结构体变量,并为其赋值。最后,使用printf函数输出了结构体变量的值。
需要注意的是,访问结构体成员变量时需要使用点操作符.。例如,person1.name表示访问结构体变量person1的name成员变量。同时,为了使用字符串类型的成员变量,我们需要包含<string.h>头文件,并使用strcpy函数进行字符串的赋值。
当然,我们还可以使用指针来操作结构体变量。以下是一个示例:
#include <stdio.h>
// 定义一个结构体
struct Person {
char name[20];
int age;
float height;
};
int main() {
// 声明一个结构体指针变量
struct Person *personPtr;
// 为结构体指针变量分配内存
personPtr = (struct Person *)malloc(sizeof(struct Person));
// 为结构体指针变量赋值
strcpy(personPtr->name, "张三");
personPtr->age = 20;
personPtr->height = 1.8;
// 输出结构体指针变量的值
printf("姓名:%s\n", personPtr->name);
printf("年龄:%d\n", personPtr->age);
printf("身高:%f\n", personPtr->height);
// 释放结构体指针变量的内存
free(personPtr);
return 0;
}
在上面的示例中,我们首先声明了一个名为personPtr的结构体指针变量,并使用malloc函数为其分配内存空间。然后,使用箭头操作符->来访问结构体指针变量的成员变量,并为其赋值。最后,使用printf函数输出了结构体指针变量的值。
需要注意的是,在使用完结构体指针变量后,我们需要使用free函数来释放其所占用的内存空间,以防止内存泄漏
原文地址: https://www.cveoy.top/t/topic/hyrL 著作权归作者所有。请勿转载和采集!