printf输出格式
%e是按指数形式输出
const
常量指针:指针所指空间的值不能发生改变,不能通过指针解引用修改指针所指空间的值,但是指针的指向可以发生改变
指针常量:指针本身是一个常量,指针的指向不能发生改变,但是指针所指空间是可以改变,可以通过解引用改变指针所指空间的值
区分:
const* 的相对位置:const 在*的左边:常量指针
const在 * 的右边:指针常量
左定值,又定向
数组与指针
1.
b指向数组首元素,b的优先级高于+=,所以首元素1变成3,(b+2)将第三个元素变为2.这两句是赋值语句
b++,指向第二个元素
2.
ptr指向首元素,取地址是整个数组地址
&a+1跳过整个数组
C/C++宏定义
宏定义是没有类型安全检测,且在预处理阶段就完成了替换,因此无法调试,更应该使用const
函数调用
函数调用的时候,如果参数类型是数组类型,只用传数组名
指针数组
[]的优先级高于*
阅读代码题
struct内存对齐
由于内存对齐的原因:结构体的最终大小是最大对齐数的整数倍。
4的整数倍16