c语言-结构体---@颜麓

一、结构体

1、定义:
可以将不同的数据类型封装在一起构建出来的一个新的类型
2、构造结构体的语法方式:

//声明一个结构体,就是创造了一种新的类型
struct 	结构体名
{
	成员列表   //类型名称	变量名;
};后面的分号不可省略

成员列表中的成员类型可以是c语言提供的基本类型,也可以是结构体或其他结构类型。

struct 	结构体名
{
	成员列表   //类型名称	变量名;
}a,b;
struct 	//结构体名圣罗的定义格式
{
	成员列表   //类型名称	变量名;
}a,b;

3、定义变量
(1)声明结构体时直接定义变量
(2)struct 结构体名 变量列表
4、结构体初始化
如果成员类型是一个数组或是一个结构体类型,需加{ };
定义完成只能对单个进行初始化。
A

struct	stu
{
	int age;
	int  score;
}a={12,100};

B

struct 	stu	a={12,100}//注意初始化的顺序

C

struct	stu	a//不考虑顺序赋值
{
	.age=12.score=100
};

5、结构体的数组

struct date arr[10]={
{},
{},

};

6、结构体指针

struct  date *p;
p=&arr;
(*p).age //p->age

7、结构体字节对齐

struct student
{
	char name[10];//10补齐为4的倍数12
	int  age;//4 
	int  math;//4
	int  chinese;//4
	int  english;//4
	char  sex;//1补齐为4的倍数4
};
//共28个字节
#program pack(size)//指定对齐规则1 2 4 8 16
//定义位段
struct student
{
	char name[10] :1;//1
	int  age :2;//2
	int  math :3;//3
	int  chinese :5;//5
	int  english :4;//4
	char  sex;//1补齐为4的倍数4
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值