c语言源文件全局变量作用域,在一个C语言源程序文件中所定义的全局变量,其作用域为(  )。 - 问答库...

C语言全局变量的作用域不局限于单个文件,而是从定义位置开始到源文件结束,但若要在其他文件中使用,需用extern声明。一道关于全局变量作用域的选择题及其解析,介绍了全局变量的使用和作用范围。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:

[单选] 在一个C语言源程序文件中所定义的全局变量,其作用域为(  )。

A . 所在文件的全部范围

B . 所在程序的全部范围

C . 所在函数的全部范围

D . 由具体定义位置和extern说明来决定范围

有以下程序#includemain(){FILE*fp;int a[10]=(1,2,3,0,0),i;fp—fopen(”d2.dat,”wb”);fwrite(a,sizeof(int),5,fp);fwrite(a,sizeof(int),5,fp);fclose(fp);fp—fopen(”d2.dat”,”rb”);fread(a,sizeof(int),10,fp);fclose(fp);for(i=0;i<10;i十f-)printf("%d",a[i]);}程序的运行结果是(  )。 1,2,3,0,0,0.0,0,0,0,。 1,2,3,1,2,3,0,0,0,0,。 123,0,0,0,0,123,0,0,O,O,。 1,2,3,0,0,1,2,3,0,0,。

设有以下定义union data(  int dl;f|aat d2;)dem0;则下面叙述中错误的是(  )。 变量dem0与成员d2所占的内存字节数相同。 变量dem0中各成员的地址相同。 变量dem0和各成员的地址相同。 若给demo.d1赋99后,dem0.d2中的值是99.0。

有以下程序#includestruct tt{int x;struct tt*y;)*P;struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a);main(){  int i;P=a:    .for(i=1;i<=2;i++)(printf(”%d,”,p->x);P=P->y:})程序的运行结果是(  )。 20,30,。 30,17,。 15,30,。 20,15,。

有以下程序#includevoid fun(int*a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/{  int t,i,j;for(i=0;i

若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是(  )。 p=a;。 p[o]=a;。 p[o]=&a[1][2];。 p[l]=&a;。

在一个C语言源程序文件中所定义的全局变量,其作用域为(  )。

参考答案:

D

●  参考解析

D。【解析】全局变量是在函数外部任意位置上定义的变量,它的作用域是从变量定义的位置开始,到整个源文件结束止。当全局变量定义在后,引用它的函数在前时,应该在引用它的函数中用extertl对此全局变量进行说明,以便通知编译程序该变量是一个已在外部定义了的全局变量,这时全局变量的作用域从extern说明处起,延伸到该函数末尾。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值