如果定义外部变量(全局变量)时使用了static修饰,则该变量具有文件作用域,即只允许同一文件中的函数访问。在多人分工开发程序的情况下,这种对变量作用域的限制很有用,同一系统中的由不同人员设计的文件中即使存在着同名的全局变量,也互不干扰,因此设计人员可以放心地为使用的变量取自己喜欢的名字。
(2)非静态外部变量──允许被其它源文件中的函数引用
定义时缺省static关键字的外部变量,即为非静态外部变量。其它源文件中的函数,引用非静态外部变量时,需要在引用函数所在的源文件中进行说明:
引用静态变量的格式:
在函数内的extern变量说明,表示引用本源文件中的外部变量,而函数外(通常在文件开头)的extern变量说明,表示引用其它文件中的外部变量。
一个C程序往往是由多个源文件组成的(切记只有一个文件中包含主函数main())。extern不但能在一个源文件中扩展全局变量的作用域,而且还能将全局变量的作用域扩展到其他的源程序文件中,使得其他文件中的函数也能访问到该全局变量。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] 下一页
|