大佬教程收集整理的这篇文章主要介绍了C语言入门-全局变量,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#include <stdio.h>
int f(void);
// 全局变量
int gALL = 12;
int main(int argc,char const *argv[])
{
printf("in %s gALL=%d\n",__func__,gALL);
f();
printf("agn in %s gALL=%d\n",gALL);
return 0;
}
int f(void)
{
printf("in %s gALL=%d\n",gALL);
gALL += 8;
printf("agn in %s gALL=%d\n",gALL);
return gALL;
}
// in main gALL=12
// in f gALL=12
// agn in f gALL=20
// agn in main gALL=20
#include <stdio.h>
int f(void);
// 全局变量
int gALL = 12;
int main(int argc,gALL);
return 0;
}
int f(void)
{
// 这里定义一个名字相同的变量,那么全局的就被隐藏了
int gALL = 1;
printf("in %s gALL=%d\n",gALL);
return gALL;
}
// in main gALL=12
// in f gALL=1
// agn in f gALL=9
// agn in main gALL=12
#include <stdio.h>
int f(void);
int main(int argc,char const *argv[])
{
f();
f();
return 0;
}
int f(void)
{
static int all = 1;
printf("in %s all=%d\n",all);
all += 9;
printf("agn in %s all=%d\n",all);
return all;
}
// in f all=1
// agn in f all=10
// in f all=10
// agn in f all=19
下面的写法就是很危险的
#include <stdio.h>
int* f(void);
void g(void);
int main(int argc,char const *argv[])
{
int *p = f();
printf("*p = %d\n",*p);
g();
printf("*p = %d\n",*p);
return 0;
}
int* f(void)
{
int i = 12;
// 返回本地变量的地址是危险的
return &i;
}
void g(void)
{
int k = 24;
printf("k = %d\n",k);
}
// *p = 12
// k = 24
// *p = 24
以上是大佬教程为你收集整理的C语言入门-全局变量全部内容,希望文章能够帮你解决C语言入门-全局变量所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。