在内存中这些变量存储在c? [关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在内存中这些变量存储在c? [关闭]相关的知识,希望对你有一定的参考价值。
如果我有这样的代码:
const int a=2;
int b;
int main()
{
const int c=4
static int d;
int e;
int f=5;
}
内存(堆栈,数据,堆)中存储的这些变量(尤其是本地未定义变量e)?未定义的局部变量e将具有垃圾值(它来自哪里?)
答案
- 全局变量------->数据
- 静态变量------->数据
- 常量数据类型----->代码和/或数据。当一个常量本身存储在数据段中时,考虑字符串文字,并且对它的引用将嵌入到代码中
- 局部变量(在函数中声明和定义)--------> stack
- 在
main
函数中声明和定义的变量-----> stack - 指针(例如:
char *arr
,int *arr
)------->数据或堆栈,具体取决于上下文。 C允许您声明全局或static
指针,在这种情况下,指针本身将最终在数据段中。 - 动态分配空间(使用
malloc
,calloc
,realloc
)-------->堆
值得一提的是,“堆栈”被正式称为“自动存储类”。
以上是关于在内存中这些变量存储在c? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章