在内存中这些变量存储在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 *arrint *arr)------->数据或堆栈,具体取决于上下文。 C允许您声明全局或static指针,在这种情况下,指针本身将最终在数据段中。
  • 动态分配空间(使用malloccallocrealloc)-------->堆

值得一提的是,“堆栈”被正式称为“自动存储类”。

以上是关于在内存中这些变量存储在c? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

李洪强-C语言9-C语言的数据,变量和常量

C变量常量

C程序存储结构

数据结构-c语言内的内存分配

将存储在内存中的文件上传到s3

从外部存储中检索 Relay 查询片段的变量