结构体定义原则:
保证最长字节对齐
保证整数倍地址对齐
p->age <==> (*p).age
Char* p == malloc(500); <==> char p[500];
指针数组和数组指针的区别
指针数组:指针类型的数组 数组中存储的都是地址 int * p [3];
数组指针:指向数组的指针 指针中存放的是数组的的地址int(*p)[3];
字符串数组名表示的是字符串首个字符的地址
指针变量的大小
X64的编译环境下,指针变量占8个字节
X86的编译环境下,指针变量占4个字节
Nums[i] <==> *(nums + i)
数组的名字(nums)
代表的是数组中第一个元素的地址(首地址) <--> &nums[0]
数组名和&数组名的区别
数组名表示的是数组首元素的地址(首地址)
数组名 = &数组名[0] = 首地址
&数组名表示的是整个数组的地址
&数组名 = 整个数组的地址
Const 如果在*左,那么指针变量可以修改,*指针变量不可被修改
const如果在*右,呢吗指针变量不可以修改,*指针变量可以修改
2826

被折叠的 条评论
为什么被折叠?



