C语言相关(六)

结构体

在定义一个变量时 次变量拥有诸多 属性 我们需把属性写进去 则不能用普通的定义变量来定义它 如:在写学生管理系统时 学生具有多种属性 性别 年龄等等
这时我们就需要结构体了。
定义:

struct Student
{
	char name[10];
	int age;
	char sex[5];
}st;

注意 结构体内的成员 不能对其进行初始化
调用成员:

void Show(Student *p)
{
	printf("%s,%d,%s",p->name,p->age,p->sex);
	/printf("s,%d,%s",(*p).name,(*p).age,(*p).sex); //指向符也自带解引用
}

用指针调用的话 使用 ->
非指针使用 . 如:a.name

 //结构体数组
 Student arr[]={{"liubei",99,"man"},{"caocao",18,"man"}};

结构体的大小
结构体的大小(内存对齐//整除)

struct A
{
	char b;//1个字节
	int a;//4个字节
};//8个字节
struct B
{
	char a;//1+1      
	short b;//2   
	int c;//4
};//8
struct C
{
	char a;//1+3
	int b;//4
	short c;//2+6
	double d;//8
};//24
struct E
{
	int a;//4
	char b;//1+3
};//8

typedef

typedef 自定义一种类型
如:
typedef int *PP;//==》由这种变量提升为类型
其中 *pp不变量 而是一种新的类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值