内存常见划分区域,怎么快速记住?
共 6376字,需浏览 13分钟
·
2024-07-24 22:14
关注、星标公众号,直达精彩内容
|
|
|
|
|
|
|
|
|
|
|
|
-
临时创建的局部变量存放在栈区。 -
函数调用时,其入口参数存放在栈区。 -
函数返回时,其返回值存放在栈区。 -
const定义的局部变量存放在栈区。
static unsigned int val1 = 1; //val1存放在.data段
unsigned int val2 = 1; //初始化的全局变量存放在.data段
unsigned int val3 ; //未初始化的全局变量存放在.bss段
const unsigned int val4 = 1; //val4存放在.rodata(只读数据段)
unsigned char Demo(unsigned int num) //num 存放在栈区
{
char var = "123456"; //var存放在栈区,"123456"存放在常量区
unsigned int num1 = 1 ; //num1存放在栈区
static unsigned int num2 = 0; //num2存放在.data段
const unsigned int num3 = 7; //num3存放在栈区
void *p;
p = malloc(8); //p存放在堆区
free(p);
return 1;
}
void main()
{
unsigned int num = 0 ;
num = Demo(num); //Demo()函数的返回值存放在栈区。
}
本文由作者『行墨』原创并授权发布,来源地址: https://blog.csdn.net/lin_duo/article/details/103019390
版权声明:本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。 ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧
关注我的微信公众号,回复“星球”加入知识星球,有问必答。
点击“阅读原文”查看知识星球详情,欢迎点分享、收藏、点赞、在看。
评论