C语言中,全局变量和外部变量有什么区别?

全局变量也称为外部变量,它是在函数外部定义的变量。 它不属于哪一个函数,它属于一个源程序文件。

其作用域是整个源程序。在函数中使用全局变量,一般应作全局变量说明。 只有在函数内经过说明的全局变量才能使用。

全局变量的说明符为extern。 但在一个函数之前定义的全局变量,在该函数内使用可不再加以说明。外部变量是在函数外部定义的全局变量,它的作用域是从变量的定义处开始,到本程序文件的结尾。

在此作用域内,全局变量可为各个函数所引用。编译时将外部变量分配在静态存储区。 有时需要在其他文件中使用extern来声明外部变量,以扩展外部变量的作用域。

也可用static声明外部变量,使该变量不能被其他文件引用。有时候他们是一样的,只有稍微一点的区别而已,不用太过于区分的。



  • C璇█涓 灞閮鍙橀噺鍜屽叏灞鍙橀噺鐨勬蹇?
    绛旓細i鏄湪鏁翠釜绋嬪簭涓湁鏁堢殑锛岀7琛屽i璧嬪间负3锛屾晠浠ヨ緭鍑轰篃涓3銆傝岀9琛屽凡鍦ㄥ鍚堣鍙ヤ箣澶栵紝杈撳嚭鐨刱搴斾负main鎵瀹氫箟鐨刱锛屾k鍊肩敱绗4 琛屽凡鑾峰緱涓5锛屾晠杈撳嚭涔熶负5銆8.8.2 鍏ㄥ眬鍙橀噺 鍏ㄥ眬鍙橀噺涔熺О涓澶栭儴鍙橀噺锛瀹冩槸鍦ㄥ嚱鏁板閮ㄥ畾涔夌殑鍙橀噺銆傚畠涓嶅睘浜庡摢涓涓嚱鏁帮紝瀹冨睘浜庝竴涓簮绋嬪簭鏂囦欢銆傚叾浣滅敤鍩熸槸鏁翠釜...
  • 鍦c璇█涓,鍙橀噺x y z鏄鍏ㄥ眬鍙橀噺杩樻槸灞閮ㄥ彉閲?
    绛旓細鏀惧湪main鍑芥暟閲屽畾涔夌殑鍙橀噺鏄眬閮ㄥ彉閲锛屽叏灞鍙橀噺瑕佹斁鍦ㄦ墍鏈夊嚱鏁帮紙鍖呮嫭main锛夌殑澶栭儴#include int x,y,z;void year(int a,int b,int c);int main(){ int i,a,b,c;for(i=1;i<=1;i++){ scanf("%d,%d,%d",&a,&b,&c);printf("a=%d\n",a);printf("b=%d\n",b);printf("c=%d...
  • C璇█涓彉閲鐨勫瓨鍌ㄧ被鍨嬫湁鍝嚑绉,瀛樺偍鏂瑰紡鍝嚑绉?璋㈠柦
    绛旓細鍦C璇█涓紝瀵瑰彉閲忕殑瀛樺偍绫诲瀷璇存槑鏈変互涓嬪洓绉嶏細1銆乤uto 鑷姩鍙橀噺 2銆乺egister 瀵勫瓨鍣ㄥ彉閲 3銆乪xtern 澶栭儴鍙橀噺 4銆乻tatic 闈欐佸彉閲 鎵璋撳瓨鍌ㄧ被鍨嬫槸鎸囧彉閲忓崰鐢ㄥ唴瀛樼┖闂寸殑鏂瑰紡锛屼篃绉颁负瀛樺偍鏂瑰紡銆傚彉閲忕殑瀛樺偍鏂瑰紡鍙垎涓衡滈潤鎬佸瓨鍌ㄢ濆拰鈥滃姩鎬佸瓨鍌ㄢ濅袱绉嶃1銆侀潤鎬佸瓨鍌ㄥ彉閲忛氬父鏄湪鍙橀噺瀹氫箟鏃跺氨鍦ㄥ瓨鍌ㄥ崟鍏冨苟...
  • 鍏ㄥ眬鍙橀噺鍜const瀹氫箟鏄粈涔?
    绛旓細1銆佸湪鍑芥暟涔嬪瀹氫箟鐨勫彉閲忕О涓澶栭儴鍙橀噺,澶栭儴鍙橀噺鏄叏灞鍙橀噺(涔熺О鍏ㄧ▼鍙橀噺)銆 鍏ㄥ眬鍙橀噺鍙互涓烘湰鍑芥暟鍜屽叾浠栧嚱鏁版墍鍏辩敤銆2銆乧onst(甯哥被鍨)鏄寚浣跨敤绫诲瀷淇グ绗onst璇存槑鐨勭被鍨嬶紝鐢ㄥ父绫诲瀷瀹氫箟鐨勫彉閲忔垨瀵硅薄鐨勫兼槸涓嶈兘琚敼鍙樼殑銆3銆鍏ㄥ眬鍙橀噺鍜const娌℃湁蹇呯劧鐨勮仈绯伙紝褰撶劧浣犲彲瀹氫箟鍏ㄥ眬const绫诲瀷锛屾槸鍚︿负鍏ㄥ眬鍙橀噺鍐冲畾...
  • c璇█澶栭儴鍙橀噺extern鏄笉鏄瓑浜鍏ㄥ眬鍙橀噺
    绛旓細澶栭儴鍙橀噺鏄湪鍑芥暟鐨勫閮ㄥ畾涔夌殑鍏ㄥ眬鍙橀噺锛浠栫殑浣滅敤鍩熸槸浠庡彉閲忕殑瀹氫箟鍑哄紑濮嬶紝鍒版湰绋嬪簭鏈熬鐨勭粨鏉熴傛湁鏃堕渶瑕佺敤extern鏉ュ0鏄澶栭儴鍙橀噺锛浠ユ墿灞曞閮ㄥ彉閲忕殑浣滅敤鍩熴傚湪绋嬪簭婧愪唬鐮佷腑鐨勬煇涓琛屽畾涔夌殑鍙兘鏄繖涓琛屼笅闈㈢殑鍙互璇诲啓杩欎釜鍙橀噺鐭ラ亾 void main(){extern a,b;//澶栭儴鍙橀噺澹版槑 ...} int a=12,b=23;/...
  • 浠涔堟槸鍏ㄥ眬鍙橀噺
    绛旓細鍏ㄥ眬鍙橀噺涔熷氨鏄紪绋嬫湳璇腑鐨勪竴绉嶏紝涔熺О涓澶栭儴鍙橀噺锛瀹冩槸鍦ㄥ嚱鏁板閮ㄥ畾涔夌殑鍙橀噺锛屼篃鍙互鏄湪鏈▼搴忎换浣曞湴鏂瑰垱寤恒傛澶栵紝鍙橀噺鍒嗕负灞閮ㄤ笌鍏ㄥ眬锛屽眬閮ㄥ彉閲忓張鍙鍙仛鍐呴儴鐨勫彉閲忋傛槸鐢辨煇瀵硅薄鎴栨煇涓嚱鏁版墍鍒涘缓鐨勫彉閲忛氬父閮芥槸灞閮ㄥ彉閲忥紝鍙兘琚唴閮ㄥ紩鐢ㄣ
  • C璇█涓鐨鍏ㄥ眬鍙橀噺鍜灞閮ㄥ彉閲忓垎鍒槸鎸囦粈涔?
    绛旓細鎴戣繕瑕佽鏄庣殑鏄 瀵澶栭儴鍙橀噺鐨勮鏄庡拰瀵瑰叏灞鍙橀噺鐨勫畾涔変笉鏄竴鍥炰簨 瀵瑰閮ㄥ彉閲忕殑璇存槑 鍙槸澹版槑璇ュ彉閲忔槸鍦ㄥ閮ㄥ畾涔夎繃鐨勪竴涓叏灞鍙橀噺 鍦ㄨ繖閲屽紩鐢 鑰屽鍏ㄥ眬鍙橀噺鐨勫畾涔夊垯鏄瀵硅捣鍒嗛厤瀛樺偍鍗曞厓鐨 涓涓叏灞鍙橀噺鍙兘瀹氫箟涓娆 鍙槸鍗村彲浠ュ娆″紩鐢 鍦ㄥ悓涓婧愭枃浠涓紝鍏ㄥ眬鍙橀噺鍜灞閮ㄥ彉閲忓悓鍚嶆椂锛屽湪灞閮ㄥ彉閲忕殑浣滅敤鍩熷唴锛...
  • C璇█ 鍏ㄥ眬鍙橀噺 灞閮ㄥ彉閲 涓句釜渚嬪瓙鐪嬬湅
    绛旓細int g_number; //鍏ㄥ眬鍙橀噺int main(){ int count;//灞閮ㄥ彉閲 return 0;} tuxtoken | 鍙戝竷浜2011-09-22 涓炬姤| 璇勮 2 0 鍏朵粬1鏉″洖绛 涓烘偍鎺ㄨ崘: 闈欐佸彉閲 浠涔堟槸鍏ㄥ眬鍙橀噺 鍏ㄥ眬鍙橀噺鎬庝箞瀹氫箟 灞閮ㄥ彉閲! c璇█鍏ㄥ眬鍙橀噺 澶栭儴鍙橀噺 鎸囬拡鍙橀噺 鍏ㄥ眬鍙橀噺鐨勪綔鐢ㄥ煙 浣跨敤鍏ㄥ眬鍙橀噺 鍏ㄥ眬鍙橀噺鍙互鏀瑰彉鍚...
  • 鍙橀噺鐨勯潤鎬佸瓨鍌ㄤ笌鍔ㄦ佸瓨鍌
    绛旓細棣栧厛锛岄潤鎬佸瓨鍌ㄤ笌鍔ㄦ佸瓨鍌ㄩ兘鏄彉閲忓湪鍐呭瓨涓殑瀛樺偍鏂瑰紡銆C璇█涓鍙橀噺鍒嗕负灞閮ㄥ彉閲忥紙auto锛夈佸瘎瀛樺櫒鍙橀噺锛坮egister锛夈鍏ㄥ眬鍙橀噺锛坋xtern锛夈侀潤鎬佸彉閲忥紙static锛夈傚眬閮ㄥ彉閲忓拰瀵勫瓨鍣ㄥ彉閲忓湪鍐呭瓨涓互鍔ㄦ佸瓨鍌ㄧ殑鏂瑰紡瀛樺偍锛屽閮ㄥ彉閲忓拰闈欐佸彉閲忓湪鍐呭瓨涓互闈欐佸瓨鍌ㄧ殑鏂瑰紡瀛樺偍銆傦紙绗旇呮敞锛欳璇█涓嶅瓨鍦ㄧ湡姝f剰涔変笂鐨勨滃叏灞...
  • C璇█鍏ㄥ眬鍙橀噺鏈鍝嚑绉
    绛旓細鍏ㄥ眬鍙橀噺锛岃繖涓叏灞鐨勬剰鎬 涓绉嶆槸鏈枃浠跺唴鍏ㄥ眬锛岃繖鏍风殑鍏ㄥ眬鍙橀噺鍙互琚湰鏂囦欢鍐呮墍鏈夊嚱鏁颁娇鐢ㄥ拰淇敼 鍙︿竴绉嶆槸澶栭儴鍙彲浣跨敤鐨鍏ㄥ眬鍙橀噺锛屾湁extern鍏抽敭瀛椾慨楗帮紝鍙互琚湰鏂囦欢鍜屽閮鏂囦欢鍑芥暟璋冪敤鍜屼慨鏀 鍏ㄥ眬鍙橀噺鍙堝垎涓猴細1锛氶潤鎬佸叏灞鍙橀噺锛屾湁const鍏抽敭瀛椾慨楗帮紝璇ュ彉閲忕殑鍊煎湪浠讳綍浣嶇疆鐨勫奸兘涓嶈兘淇敼锛岀浉褰撲簬甯搁噺 2锛...
  • 扩展阅读:c语言设置全局变量 ... 全局变量的有效范围为 ... c语言extern的用法 ... 全局变量与外部变量 ... 全局变量声明 ... 全局变量与什么 ... 全局变量怎么写c语言 ... 全局变量的生存期 ... 在c中外部变量的隐含类别 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网