系统内核
栈 (局部变量)(先进后出,后进先出,越往后地址越小。)
堆
数据段 (全局变量、常量、静态变量)
代码段 (越往后地址越大)
函数调用及操作记录在栈里
编译后的代码被保存在代码段
变量的本质是内存
指针的本质是地址
p &a -> 找到内存地址 (a是变量)
p func -> 打印func地址本身 (func是地址)
p *func -> 通过地址func,取func里面的值(func是地址)
数组声明的内存排列
gdb命令:x(打印内存值) /3(输出3个值) d(十进制显示) 0xfffff(开始地址)
数组其实就是个指针常量,常量就是不可更改的,指针是指针变量