第四次作业
一、视频笔记
二、代码列表
三、问题
1.视频中的%i是什么?
%i和%d 没有区别。%i 是老式写法。都是整型格式。
%i与%d:在printf格式串使用时,没有区别。
在scanf格式串使用时,有一点区别:在scanf格式中,%d只与十进形式的整数相匹配。而%i可以匹配八进制、十进制、十六进制表示的整数。
2.结构变量和结构类型有什么不同?
两个不同的概念,结构变量:struct student s1,max;其中定义了s1、max结构变量,其数据类型为struct student.
结构类型:struct 结构名{类型名 结构成员名;..........};其中,struct 与结构名两者合起来共同组成结构类型名。
3.
C选项中的p->age是一个值,前面应该加“&”符号。
4.
结构指针的使用:
(1)用*p访问结构成员。如:(*p).num=101;
(2)用指向运算符"-->"访问指针指向的结构成员。如:p->num=101;
注意:当p指向结构变量s1时,下面三条语句的效果是一样的:
s1.num=101;
(*p).num=101;
p->num=101;
为什么(*p).num=101;要加括号呢?
答:运算符“.”取结构体变量成员的优先级大于运算符“*”取指针内容的优先级,所以要加括号。
5.结构与数组有什么区别?
1.结构之间可以去直接赋值,而数组不可以。
2.数组可以直接利用下标访问;而结构体必须使用结构中成员的变量名。
3.数组是相同类型元素的集合;结构体是不同类型元素的集合。