关于堆栈的一些问题

zjtzlqr zjtzlqr 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在堆栈的百度百科里面看到下面一串代码
//main.cpp
int a = 0; 全局初始化区
char *p1; 全局未初始化区
main()
{
int b; 栈
char s[] = "abc"; 栈
char *p2; 栈
char *p3 = "123456"; 123456\0在常量区,p3在栈上。
static int c =0; 全局(静态)初始化区
p1 = (char *)malloc(10);
p2 = (char *)malloc(20); 分配得来的10和20字节的区域就在堆区。
}
strcpy(p1, "123456"); 123456\0放在常量区,编译器可能会将它与p3所指向的"123456"优化成一个地方。


全局初始化区是什么意思? 全局变量有没有类似全局堆栈之类的东西
变量b是在main函数的堆栈中 ,如果程序还有其他子函数的话,其他子函数中的堆栈和main函数的堆栈有什么联系,是不是本质上都是一样的

主要是对堆栈的概念不太明确
...全文

相关推荐

评论 15
收藏 已收藏
分享
返回顶部
zjtzlqr
C语言 70,039 成员 243,237 内容