悠漓带你浅谈C语言9(结构体)

结构体是C语言中特别重要的知识点,结构体使得C语言有能力描述复杂类型。
比如描述学生,学生包含: 名字+年龄+性别+学号 这几项信息。
这里只能使用结构体来描述了。
例如:

//结构体类型
struct Stu
{
	//相当于盖房子时候的图纸
	char name[20];//名字 --> 字符串
	int age;//年龄 --> 整形
	char sex[5];//性别 --> 字符串
	char id[15];//学号 --> 字符串

};

void Print(struct Stu* ps)
{
	//printf("%s %d %s %s\n",(*ps).name,(*ps).age,(*ps).sex,(*ps).id);
	printf("%s %d %s %s\n",ps->name ,ps->age ,ps->sex ,ps->id);//比上面的方法稍简洁
	//-> 结构体成员访问操作符
	//用法:
	//结构体指针 -> 结构体成员
}
int main()
{
	//结构体变量
	//相当于拿着图纸盖的房子
	struct Stu s1 = { "张三",23,"女","007"};//学生1
	struct Stu s2 = { "如花",18,"男","001" };//学生2
	
	//输入结构体数据
	scanf("%s %d %s %s\n", s1.name, s1.age, s1.sex, s1.id);
	//直接打印
	printf("%s %d %s %s\n",s1.name, s1.age, s1.sex, s1.id);
	//. 结构体成员访问操作符
	// 用法:
	// 结构体变量.结构体成员
	//使用函数打印
	Print(&s2);
}

如果后面感觉写struct Stu有些麻烦,那么我们可以对struct Stu用 typedef 进行重命名

typedef struct Stu
{
	//相当于盖房子时候的图纸
	char name[20];//名字 --> 字符串
	int age;//年龄 --> 整形
	char sex[5];//性别 --> 字符串
	char id[15];//学号 --> 字符串

}Stu;

如上我们就将struct Stu重命名成了 Stu

改变名字后使用方式如下:

typedef struct Stu
{
	//相当于盖房子时候的图纸
	char name[20];//名字 --> 字符串
	int age;//年龄 --> 整形
	char sex[5];//性别 --> 字符串
	char id[15];//学号 --> 字符串

}Stu;

void Print(Stu* ps)
{
	//printf("%s %d %s %s\n",(*ps).name,(*ps).age,(*ps).sex,(*ps).id);
	printf("%s %d %s %s\n", ps->name, ps->age, ps->sex, ps->id);//比上面的方法稍简洁

}
int main()
{
	
	Stu s1 = { "张三",23,"女","007" };//学生1
	Stu s2 = { "如花",18,"男","001" };//学生2
	scanf("%s %d %s %s\n", s1.name, s1.age, s1.sex, s1.id);

	printf("%s %d %s %s\n", s1.name, s1.age, s1.sex, s1.id);
	
	Print(&s2);
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值