目录
内存四区
https://blog.csdn.net/bjca0907/article/details/116346658
字节对齐
字节序
staitc变量 static函数
const 变量、指针
常量指针
指针常量
sizeof 和 strlen
区别:
1、本质
sizeof:是运算符(关键字);是一个单目运算符,不是函数,执行时后面可以不带();
strlen:是函数。执行时后面必须带();
2、功能
sizeof:计算操作对象占内存的字节数(遇到‘\0’不停止),计算结果包括结尾的’\0’;
strlen:计算字符串的长度(遇到‘\0’就停止),计算结果不包括结尾的’\0’;
3、计算时间
sizeof:编译时计算。因为其本质是个操作符,需要在编译时计算,确定内存大小。
strlen:运行时计算。因为其本质是个函数,函数在运行时被调用了才会执行。
4、操作数(参数)类型
sizeof:操作数可以是数据类型、变量、数组、指针、函数、表达式等;
strlen:参数必须是字符串(即char *);
例1:sizeof(数据类型)
sizeof(int);
sizeof(struct MyStruct;
例2:sizeof(变量)
sizeof(a);
例3:sizeof(数组)
Sizeof(array[]);
例4:sizeof(函数)
int func()
sizeof(func());
例5:sizeof(表达式)
sizeof(10 + 21.5);
结构体、联合体、枚举、位域 嵌套组合
宏 和 内联函数: 各自使用场景、注意事项、 宏的作用范围?
命名、注释
运算符优先级
数据类型范围: 数据强转(截断、扩充)
常见数据结构和算法
各种排序算法:时间、空间复杂度
二叉树的前、中、后序遍历