C语言 结构体

1.结构体
类似于java中的对象(student.java)

	1)结构体的定义(关键字 struct)	
		struct student(结构体名)
		{
   
			int No;					//成员类型 成员名
			char name[256];
		}
		创建一个结构体 
		struct student std;(如果结构体中存在使用指针的,需要申请空间malloc才能赋值)
	
	2)结构体成员的内存布局
		结构体所占的空间为各成员变量的所占空间之和(注意字节对齐,下面总结)
		各成员变量按照定义的顺序依次保存
	
	3)关于结构体变量的应用
		1.使用 “.” 点
			获取某个子成员变量
			std.name;  //表示std这个结构体对象的name
		2.(*结构体指针).成员变量
			*p => *&s => s 		
			(*p).num => s.num 		
			通过p来访问成员变量: 				
				(*p).num 
				(*p).age 
		3.->”
			结构体指针 -> 成员变量
			p->name;

	4)初始化
					struct date
					{
   
						int year;
						int month;
						int day;
					};
					//定义结构体 日期 
					struct student
					{
   
						int num;
						char name[32];
						struct date birthday;
						int score;
					};
					//定义结构体学生)按定义时的顺序依次初始化各个成员变量,每个成员变量用逗号隔开
			struct student s = 
			{
   
				11520,
				"zhangsan",
				{
   1994,5,5},
				100	
			};) 不按顺序, .成员变量名 = 初始值 
			struct student s = 
			{
   
				.name = "Lisa",
				.birthday = {
   1998,7,1},
			};) 结构体数组的初始化 
			a、按照数组元素的顺序依次初始化
				struct student class[3] = 
				{
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值