我们需要一个命令来查看我们生成的可执行文件的内存分布
size 可执行文件名称
text为字符串,data为全局初始化空间,bss为未初始化变量空间
strings命令在对象文件或二进制文件中查找可打印的字符串。字符串可打印字符的任意序列,以换行符或空字符结束。 strings命令对识别随机对象文件很有用。
一个函数中,运行时,局部变量会进入栈空间
内存分布图
- 栈空间 函数运行
- 堆空间 运行时可以资源分配和释放
分配
malloc();
一旦成功,返回分配好的地址,只需接收,对于新地址的读法,由程序员灵活把控,输入参数指定分配的大小
char *p;
P = (char*)malloc(100*sizeof(char));
if(p == NULL)
{
error;
}
释放
free§;
3. 只读空间 程序结束时释放