C语言——初识结构体定义与使用

C语言中的结构体(Struct)是一种复合数据类型,它允许你将不同类型的数据项组合成一个单一的类型。结构体在C语言中非常有用,特别是在需要处理复杂数据时,比如存储一个人的姓名、年龄、地址等信息时,使用结构体可以很方便地将这些信息组合在一起,并以一个整体的形式进行访问和操作。

定义结构体

结构体的定义使用struct关键字,后跟结构体的标签(也就是名字)和结构体体本身。结构体体包含了一组成员列表,每个成员都是某种数据类型(基本数据类型、数组、指针等)的变量。成员之间用分号分隔。

cpp 复制代码
struct Student{
	char *num;
	char *name;
	char *sex;
	int age;
	double score;
	char *addr;
};

使用结构体

声明结构体变量

你可以像声明其他类型的变量一样声明结构体变量。

cpp 复制代码
struct Student stu1;

或者使用typedef为结构体类型定义一个新名字,这样就可以像使用基本数据类型一样使用结构体了。

cpp 复制代码
typedef struct Student{
	char *num;
	char *name;
	char *sex;
	int age;
	double score;
	char *addr;
}Student;

Student stu1;
初始化结构体变量

结构体变量可以在声明时初始化。

cpp 复制代码
struct Student stu1 = {"001","李红","女",22,99.9,"云南"};

或者使用typedef定义的类型:

cpp 复制代码
Student stu1 = {"001","李红","女",22,99.9,"云南"};

或者单独进行初始化:

cpp 复制代码
stu1.num = "001";
stu1.name = "李红";
stu1.sex = "女";
stu1.age = 22;
stu1.score = 99.9;
stu1.addr = "云南";
访问结构体成员

结构体成员的访问使用.运算符(对于结构体变量)或->运算符(对于指向结构体的指针)。

cpp 复制代码
// 假设我们已经有了一个Student类型的变量stu1  
printf("姓名: %s\n", stu1.name);  
printf("年龄: %d\n", stu1.age);  
  
// 如果我们有一个指向Student的指针  
Student *pStu= &stu1;  
printf("成绩: %.2f\n", pStu->score);  
printf("地址: %s\n", pStu->addr);

总结

结构体是C语言中处理复杂数据的有效方式,它们允许你将相关的数据项组合在一起,并通过一个统一的接口进行访问和操作。通过使用结构体,你可以编写更清晰、更易于维护的代码。

相关推荐
IT方大同1 分钟前
C语言进制转化
c语言·开发语言
SELSL9 分钟前
标准IO总结
linux·c语言·标准io·stdio·标准io与文件io的区别
野生风长10 分钟前
从零开始的C语言:文件操作与数据存储(上)(文件的分类,文件的打开和关闭)
c语言·开发语言
小柯博客10 分钟前
从零开始打造 OpenSTLinux 6.6 Yocto 系统 - STM32MP2(基于STM32CubeMX)(九)
c语言·stm32·单片机·嵌入式硬件·物联网·嵌入式·yocto
我是哈哈hh21 分钟前
【Python数据分析】数据可视化(全)
开发语言·python·信息可视化·数据挖掘·数据分析
良木生香21 分钟前
【诗句结构-初阶】详解栈和队列(2)---队列
c语言·数据结构·算法·蓝桥杯
拾贰_C24 分钟前
【python| pytorch】卸载py库,手动法
开发语言·pytorch·python
!停24 分钟前
数据在内存中的存储(2)
开发语言·c++·算法
龙山云仓25 分钟前
No098:黄道婆&AI:智能的工艺革新与技术传承
大数据·开发语言·人工智能·python·机器学习
是喵斯特ya29 分钟前
python开发web暴力破解工具(基础篇)
开发语言·python·web安全