C语言结构体类型详解

本文详细讲解了C语言中结构体的声明、自引用、变量定义与初始化、内存对齐规则以及结构体作为函数参数时的影响。结构体内存对齐对于性能和平台移植具有重要意义,合理的结构体设计能平衡对齐与空间效率。传参时建议使用结构体地址以降低性能开销。
摘要由CSDN通过智能技术生成


前言

结构体是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。


1.结构的声明

struct tag
{
   
    member - list;//成员列表
}variable - list;//变量列表
//变量列表可以省略

例如描述一个学生:

struct Stu
{
   
	char name[20];//名字
	int age;//年龄
	char sex[5];//性别
	char id[20];//学号
}; //分号不能丢

2.特殊的声明

在声明结构的时候,可以不完全的声明。
比如:

//匿名结构体
struct
{
   
	int a;
	char b;
	float c;
}x;
struct
{
   
	int a;
	char b;
	float c;
}a[20], * p;
//上面的两个结构在声明的时候省略掉了结构体标签(tag)。
//在上面代码的基础上,下面的代码合法吗?
p 
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杯浅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值