左值:能放在等号左边进行赋值的值
代码区:define定义在代码区,字符串常量(char *p="你好";),程序代码。只读
静态数据区: 全局变量、常量(const int m=10;(谁都可以访问,只能读不能写)),静态变量(static int a=1;(一旦创建不会因为循环而重建))、静态常量(static(放到静态区) const in a=1;)。全局,哪个函数都可以访问。
static静态函数可以避免函数跨文件重名的问题,避免内部函数被外部调用


栈区存放函数参数值和局部变量的值
malloc返回值就是一片内存的地址//堆需要手动回收,栈会自动回收
int *p=malloc(sizeof(int)*5);
for()int j=0;j<5;j++{
p[i]=5-i;
}
函数名是一个指针存储了函数入口点地址
const int a=1;仍在栈区,不是静态
本文详细解析C++中不同内存区域的功能与用途,包括左值、代码区、静态数据区、栈区和堆区的特点。阐述了static关键字的作用,如避免函数重名和控制变量生命周期,并解释了malloc函数如何分配堆内存。

被折叠的 条评论
为什么被折叠?



