您的位置:首页 > 编程语言 > C语言/C++

C语言学习笔记----伊能C语言学习笔记----如何在一个文件中使用另一个文件中定义的变量呢??

2015-12-26 13:21 826 查看

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

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

解答:

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

即:

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

所以:我们可以看出:

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

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

#include<stdio.h>

#include<stdlib.h>

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语言也引出了一个 文件作用域来限定全局变量的作用域。

*/

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

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

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

若多层大括号中出现重名变量,外层同名变量在内存中被屏蔽不起作用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: