C程序由一组对象组成,这些对象包括程序中所使用的变量和实现特定功能的函数。变量可以分为函数内部定义、使用的变量和函数外部定义的变量,通常情况下,把函数内部定义、使用的变量称为内部变量或局部变量,而将在函数外部定义的、供许多函数所使用的变量称为外部变量,一般情况下,也可以称为全局变量。
由于C语言不允许在一个函数中定义其他函数,因此函数本身是外部的。一般情况下,也可以说函数是全局函数。
在缺省情况下,外部变量与函数具有如下性质:所有通过名字对外部变量与函数的引用(即使这种引用来自独立编译的函数)都是引用的同一对象(标准中把这一性质称为外部连接)。
由于外部变量是可以全局访问的,这就为在函数之间交换数据提供了一种可以替代函数变元欲返回值的方法。任何函数都可以用名字来访问外部变量,只要这个名字已在某个地方做了说明或定义。
如果要在函数之间共享大量的变量,那么使用外部变量要比使用一个长长的变元表更方便、有效。然而,也可能导致程序在各个函数之间产生太多的数据联系。
外部变量的用途还表现在它们比内部变量有更大的作用域和更长的生存期。内部自动变量只能在函数内部使用,当其所在函数被调用时开始存在,当函数退出时消失。而外部变量是永久存在的,他们的值在从一次函数调用到下一次函数调用之间保持不变。因此,如果两个函数必须共享某些数据,而这两个函数都互不调用对方,那么最为方便的是,把这些共享数据作为外部变量,而不是作为变元来传递。
1、外部变量的定义和使用
根据C语言标准,在程序的所有源文件中,外部变量只能被定义一次,否则会导致重复定义的编译错误。
1.1 外部变量的定义与声明
时间: 2024-10-26 19:51:57