目录
一 内存区域的划分
四个:常量区、堆区、栈区、静态全局区
五个:常量区、堆区、栈区、静态全局区、代码区
1.常量区:存常量
2.堆区:普通局部变量
3.栈区:由程序员手动申请的空间,需要手动释放 malloc calloc free
4.静态全局区:静态变量、全局变量、静态全局变量 static
5.代码区:存代码
#include<stdio.h>
int b; //普通全局变量
static int d; //静态全局变量
int main()
{
int a; //普通局部变量
static int c; //静态局部变量
return 0;
}
1.为什么称为静态
只要类型变量前加上 static ———例如:static int num=10; 只会定义一次
意思是:在当前程序开始到结束 如果使用到函数调用num则会一直叠加而不会重新定义
2.作用域和生命周期
当前项目:可以在其他文件中使用
普通全局变量 例如:mian.c test.c
当前文件:只会在文件内部被识别出到其他文件中就不行了
静态全局变量 例如:mian.c文件中变量到test.c中就

本文详细介绍了C语言中的内存区域划分,包括常量区、堆区、栈区、静态全局区和代码区。讲解了void*类型的使用限制以及如何通过malloc和calloc开辟内存,同时强调了释放内存的重要性,避免内存泄露和野指针问题。最后提到了内存满后如何处理。


最低0.47元/天 解锁文章
2884

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



