内存属性:
1.大小
2.在哪里
nm命令,查看静态空间的段名。
size命令,用于查看目标文件、库或可执行文件中各段及其总和的大小。
栈空间:
运行时,函数内部使用的变量,函数一旦返回,就释放,生存周期是函数内。
堆空间:
运行时,可以自由,自我管理分配和释放的空间,生存周期是由程序员来决定。
分配:
malloc();一旦成功,返回分配好的地址给我们,只需要接收,对于新地址的读法,由程序员决定。输入参数指定分配的大小,单位B。
int p[5];
p = (int )malloc(sizeof[int] * 5);
if(p == NULL){
error;
};
释放:
free(p); p使用完成需要释放内存,不然随着程序的运行会内存泄漏。
只读空间:
静态空间,整个程序结束时释放空间,生存周期最长。