一 大小字端节序
- msb(大端):高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
2.lsb(小端):低位字节排放在内存的低地址端,高位字节排放在内存的高地址
二 .c程序的内存布局
系统空间:每个程序运行独立4GB虚拟内存空间
命令行传递的参数: int main(int argc, char **argv)
栈区: 局部变量(自动分配,{}内有效,离开{}自动)
堆区: malloc分配的内存(自己管理,用完free,否则泄漏)
.bss: 未初始化的全局变量或static变量
.data: 初始化过的全局变量或static变量
.rodata: const, #define,char *ptr="string"等定义的数据常量
编译出来的可执行文件的二进制代码
三 .指针与地址
1.指针也是地址(个人理解),指针变量是用来存放地址的变量
可以看出指针是存放地址
- 当存在子函数的时候传递过程问题
由于局部变量存放在栈区(自动分配,{}内有效,离开{}自动),函数操作时候一定要对地址操作