c语言同一个文件中的全局变量在另一个文件中不声明无法使用,C语言学习笔记----伊能C语言学习笔记----如何在一个文件中使用另一个文件中定义的变量呢??...



我们知道,一个大的程序,会由多个c文件构成,这些c文件是属于同一个程序的。

那么,如何在一个文件中使用另一个文件中定义的变量呢??

解答:

C语言为了解决这个问题:引出了    全局作用域的概念

即:

在一个文件中定义的全局变量,具有全局作用域,当在本程序的其他文件中使用时,只需加上 extern外部引用声明即可。

所以:我们可以看出:

全局变量的作用域是:在整个的程序中的,在整个程序的其他文件中,是可以跨文件使用的。

但是,为了避免跨文件所带来的问题,C语言也引出了一个 文件作用域来限定全局变量的作用域。

#include

#include

static  int num = 10;   //一旦一个全局变量在定义时加上了static限定,这时,static会把这个变量的作用域限定,便只能在本文件中使用,不能在本文件之外的c文件中使用(即使在其他文件中加上extern也不行)

int data = 101;    //结合 extern 可以跨文件使用,跨文件的作用域

void print()

{

printf("\n%d\n", num);

}

void main2()

{

print();

printf("%d\n", num);

getchar();

}

/*

我们知道,一个大的程序,会由多个c文件构成,这些c文件是属于同一个程序的。

那么,如何在一个文件中使用另一个文件中定义的变量呢??

C语言为了解决这个问题:引出了    全局作用域的概念

即:

在一个文件中定义的全局变量,具有全局作用域,当在本程序的其他文件中使用时,只需加上 extern外部引用声明即可。

所以:我们可以看出:

全局变量的作用域是:在整个的程序中的,在整个程序的其他文件中,是可以跨文件使用的。

但是,为了避免跨文件所带来的问题,C语言也引出了一个 文件作用域来限定全局变量的作用域。

*/

成对的大括号及内部的语句组成了程序块。

函数体、选择和循环结构中都要用大括号表示边界

大括号内定义的变量,必须紧跟在左大括号后面,其作用范围是从定义处直到配对的右大括号之前。

若多层大括号中出现重名变量,外层同名变量在内存中被屏蔽不起作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值