c学习笔记:结构体(结构体数组、结构体嵌套结构体、结构体指针变量、堆区的结构体数组、共用体)

本文详细探讨了C语言中的结构体,包括结构体的定义、结构体数组、结构体嵌套、结构体指针、堆区结构体数组、结构体在函数中的传递以及const修饰的结构体指针。通过多个知识点和案例,深入理解结构体的使用和特性,特别是介绍了共用体如何使成员共享同一块存储空间。
摘要由CSDN通过智能技术生成

目录

知识点1【结构体】

知识点2【结构体数组】

知识点3【结构体嵌套结构体】

知识点4【结构体指针变量】

知识点5【堆区的结构体数组】

知识点6【结构体指针变量作为函数参数】

知识点7【结构体数组名作为函数的参数】

知识点8【指针变量作为函数的成员】

知识点9【const修饰结构体指针变量】

知识点10【共用体】


 

知识点1【结构体】

结构体中的成员空间是独立的
3种方式定义:

 

知识点2【结构体数组】

struct stu
{
	int num;
	char name[16];
	int age;
};

void test()
{
	struct stu arr[5] = { {10,"lucy",18},{11,"bob",20},{12,"tom",20} };
	int n = sizeof(arr) / sizeof(arr[0]);
	for (size_t i = 0; i < n; i++)
	{
		printf("%d %s %d\n", arr[i].num, arr[i].name, arr[i].age);
	}
}

 

知识点3【结构体嵌套结构体】

 

知识点4【结构体指针变量】

struct stu
{
	int num;
	char name[16];
	float age;
};

void test()
{
	struct stu lucy = { 100,"lucy",99.9f };
	struct stu *p = NULL;
	p = &lucy;
	printf("num=%d, name=%s age=%f\n", lucy.num, lucy.name, lucy.age);
	printf("num=%d, name=%s age=%f\n", (*p).num,(*p).name,(*p).age);
	printf("num
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值