- 课程名称:Linux C语言结构体
- 课程链接:https://www.imooc.com/learn/409
- 章节名称:
- 第2章:预处理的那些事
- 2-4 typedef
 
- 第3章:结构体是干吗滴
- 3-1 结构体的声明与定义
- 3-2 结构体的初始化和引用
- 3-3 结构体指针
 
 
- 第2章:预处理的那些事
- 讲师姓名:雷过就跑
- 时间:2023-02-08 22:30
课程内容
- 与宏相近的语法typedef
- 作用是给变量类型起别名
- 宏定义是不必理会语法的,但typedef是C语言正式语句,必须以分号结尾
- typedef int *p定义一个变量p,是一个指向整型的指针类型- p q = NULL;定义一个q变量,类型是p,也就是类型名p,也就是指向整型的指针,即q是一个指针变量名
 
- 在预处理阶段,typedef定义的内容不会替换代码对应位置内容
- 在实际编程过程中,使用typedef来为自定义类型起别名,如
- typedef unsigned long size_t,定义一个类型名为size_t,这个类型实质上就是- unsigned long
- typedef struct Student {...} Stu_t;给一个结构体定义别名
 
 
- 结构体
- struct structName {...};定义结构体
- struct structName structVariable;定义一个结构体变量,定义的同时就已经分配好空间,其中- struct关键字可以省略不写
- 还可以在定义结构体同时,定义一个结构体变量,但不推荐这种写法
- 也可以定义无名的结构体,在定义后面直接定义变量,这种方法就无法定义其他结构体变量啦
 
- 结构体成员初始化
- {结构体内部成员1的值, 结构体内部成员2的值, 结构体内部成员3的值, ...}
- 结构体变量.结构体内部成员1 = 1
 
- 结构体数组
- 还是使用{}来为数组赋值,大括号内部值的个数为:数组长度 * 结构体内部成员数量
- 还可以使用大括号内部嵌套大括号来赋值,这种方法,可以不用为所有内部成员赋值,但只能为有顺序的前几个赋值,后几个可以不赋值
 
- 还是使用
- 结构体指针
- struct structName *p = &someStructNameVariable;
- (*p).内部成员1来调用,只是这种写法很难看
- p->内部成员1来调用,看起来很优雅,管这种调用叫指向运算符
- 结构体指针指向结构体数组
- struct structName *p = structArrayName,数组名就是指向数组地址的指针
- p++指针指向数组中的下一个元素
 
 
学习心得
这部分学习起来,还可以自己来优化代码,有成就感
点击查看更多内容
					为 TA 点赞
										
				 评论
				共同学习,写下你的评论
评论加载中...
作者其他优质文章
					正在加载中
				
			感谢您的支持,我会继续努力的~
		扫码打赏,你说多少就多少
		赞赏金额会直接到老师账户
		支付方式
		打开微信扫一扫,即可进行扫码打赏哦
	 
                 
            

 
			 
					 
					