C语言 ------ main与子函数在栈区、堆区以及全局区内存的使用

🌂首先有这样几种情况:
①main函数在栈区开辟的内存,所有子函数均可以使用;
②main函数在堆区开辟的内存,所有子函数均可以使用;
③子函数在栈区开辟的内存,子函数1和2均可以使用,但main不可以;
④子函数1在堆区开辟的内存,main、子函数1和2都可以使用;
⑤子函数2在全局区开辟的内存,子函数1和main均可以使用;
本地截图
具体的解释在下面这串代码中的注释讲的很清楚!!!

#include<stdio.h>

void fun_1();
void fun_2(int n);

int g_a = 10;  //全局区数据在main、子函数1和2中都可以使用 

int main()
{
	int a = 10;  //在main和子函数1和2中都可以使用 
	fun_1();
}

void fun_1(){
	int a = 10;  //在main函数中不可以使用,在子函数1和2中可以使用 
	fun_2(a);
	
}

void fun_2(int n){
	printf("%d\n",n);
} 
发布了36 篇原创文章 · 获赞 48 · 访问量 7337
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 黑客帝国 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览