程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> C程序中外部變量與函數關系解惑

C程序中外部變量與函數關系解惑

編輯:C語言基礎知識

C程序由一組對象組成,這些對象包括程序中所使用的變量和實現特定功能的函數。變量可以分為函數內部定義、使用的變量和函數外部定義的變量,通常情況下,把函數內部定義、使用的變量稱為內部變量或局部變量,而將在函數外部定義的、供許多函數所使用的變量稱為外部變量,一般情況下,也可以稱為全局變量。

由於C語言不允許在一個函數中定義其他函數,因此函數本身是外部的。一般情況下,也可以說函數是全局函數。

在缺省情況下,外部變量與函數具有如下性質:所有通過名字對外部變量與函數的引用(即使這種引用來自獨立編譯的函數)都是引用的同一對象(標准中把這一性質稱為外部連接)。

由於外部變量是可以全局訪問的,這就為在函數之間交換數據提供了一種可以替代函數變元欲返回值的方法。任何函數都可以用名字來訪問外部變量,只要這個名字已在某個地方做了說明或定義。

如果要在函數之間共享大量的變量,那麼使用外部變量要比使用一個長長的變元表更方便、有效。然而,也可能導致程序在各個函數之間產生太多的數據聯系。

外部變量的用途還表現在它們比內部變量有更大的作用域和更長的生存期。內部自動變量只能在函數內部使用,當其所在函數被調用時開始存在,當函數退出時消失。而外部變量是永久存在的,他們的值在從一次函數調用到下一次函數調用之間保持不變。因此,如果兩個函數必須共享某些數據,而這兩個函數都互不調用對方,那麼最為方便的是,把這些共享數據作為外部變量,而不是作為變元來傳遞。

1、外部變量的定義和使用

根據C語言標准,在程序的所有源文件中,外部變量只能被定義一次,否則會導致重復定義的編譯錯誤。

1.1 外部變量的定義與聲明

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved