1)
结构体指针变量=&结构体变量
struct Student *p=&stud;
(1)stud.name
(2)(*p).name
(3)p->name
1,2,3写法等价
-> 是 指向符,有解引用的功能
2)结构体大小的计算
计算结构体大小的三个规则(地址对齐)
a)结构体变量的首地址,必须是结构体变量中的最大基数数据类型所占字节数的整数倍。
b)结构体变量中的每个成员相对于结构体首地址的偏移量,都是该成员基本数据类型所占字节数的整数倍。
c)结构体变量的总大小,为结构体变量中“最大基本数据类型成员所占字节数”的整数倍。
3)为什么要理解字节对齐问题
全局变量最好首字母大写
在函数内定义的变量是局部变量,在函数外定义的变量是全量。
4)递归函数
条件:
1.自己调用自己
2.问题规模不断缩小(体现到形参)
3.函数退出条件
特点:
逐层深入,依次返回。
奇数偶数判断:num&0x1==0偶数 否则奇数
比如8的二进制1000和0x1(0001)&运算 得0 ,所以是偶数。
比如9的二进制1001和0x1(0001)&与运算得1,所以是奇数。