static关键字在C语言中有什么样的作用?

在C语言中,static关键字的作用如下:

1、在修饰变量的时,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。 

2、static修饰全局变量的时,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。 

3、static修饰一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。Static修饰的局部变量存放在全局数据区的静态变量区。

扩展资料:

static关键字在C语言、C++、java中的作用有着相似之处,但也存在差异:

一、C++的static用法:

1、面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。

2、在类中,static可以用来修饰静态数据成员和静态成员方法 

静态数据成员 

(1)静态数据成员可以实现多个对象之间的数据共享,它是类的所有对象的共享成员,它在内存中只占一份空间,如果改变它的值,则各对象中这个数据成员的值都被改变。 

(2)静态数据成员是在程序开始运行时被分配空间,到程序结束之后才释放,只要类中指定了静态数据成员,即使不定义对象,也会为静态数据成员分配空间。 

(3)静态数据成员既可以通过对象名引用,也可以通过类名引用。

静态成员函数 

(1)静态成员函数和静态数据成员一样,他们都属于类的静态成员,而不是对象成员。 

(2)非静态成员函数有this指针,而静态成员函数没有this指针。 

(3)静态成员函数主要用来方位静态数据成员而不能访问非静态成员。

二、java的static用法:

1、声明为static的变量称为静态变量或类变量。可以直接通过类名引用静态变量,也可以通过实例名来引用静态变量,但最好采用前者,因为后者容易混淆静态变量和一般变量。

2、声明为static的方法称为静态方法或类方法。静态方法可以直接调用静态方法,访问静态变量,但是不能直接访问实例变量和实例方法。静态方法中不能使用this关键字,因为静态方法不属于任何一个实例。

参考资料来源:百度百科-static(计算机高级语言)



  • static鍏抽敭瀛楀湪C璇█涓湁浠涔堟牱鐨勪綔鐢?
    绛旓細鍦–璇█涓紝static鍏抽敭瀛楃殑浣滅敤濡備笅锛1銆佸湪淇グ鍙橀噺鐨勬椂锛宻tatic淇グ鐨勯潤鎬佸眬閮ㄥ彉閲忓彧鎵ц涓娆★紝鑰屼笖寤堕暱浜嗗眬閮ㄥ彉閲忕殑鐢熷懡鍛ㄦ湡锛岀洿鍒扮▼搴忚繍琛岀粨鏉熶互鍚庢墠閲婃斁銆2銆乻tatic淇グ鍏ㄥ眬鍙橀噺鐨勬椂锛岃繖涓叏灞鍙橀噺鍙兘鍦ㄦ湰鏂囦欢涓闂紝涓嶈兘鍦ㄥ叾瀹冩枃浠朵腑璁块棶锛屽嵆渚挎槸extern澶栭儴澹版槑涔熶笉鍙互銆3銆乻tatic淇グ涓涓嚱鏁帮紝鍒欒繖涓...
  • static鍦╟璇█涓浠h〃浠涔
    绛旓細鍦–璇█涓紝`static`鏄竴涓叧閿瓧锛岀敤浜庝慨楗板彉閲忋佸嚱鏁板拰浠g爜鍧銆傚畠鏈変互涓嬪嚑绉嶅惈涔夛細淇グ鍙橀噺锛氬綋涓涓彉閲忚澹版槑涓篳static`鏃讹紝瀹冧細鍦ㄨ绋嬪簭鐨勪綔鐢ㄥ煙鍐呰瀛樺偍锛岃屼笉鏄湪鍫嗘爤涓娿傝繖鎰忓懗鐫璇ュ彉閲忓彲浠ュ湪绋嬪簭鐨勫涓嚱鏁颁箣闂村叡浜紝骞朵笖涓嶄細鍥犱负鍑芥暟鐨勮皟鐢ㄨ屼涪澶便備慨楗板嚱鏁帮細褰撲竴涓嚱鏁拌澹版槑涓篳static`鏃...
  • static鍦╟璇█涓鐨勭敤娉
    绛旓細static鍦╟璇█涓槸绉佹湁銆侀潤鎬佹剰鎬銆傜敤浜庡湪鍑芥暟涓0鏄庘滈潤鎬佸彉閲忊濈敤锛屽湪姣忎竴娆¤皟鐢ㄥ悗锛岃鍙橀噺骞朵笉鍦ㄥ嚱鏁拌繑鍥炴椂绔嬪嵆閲婃斁锛屽彉閲忎腑淇濆瓨鐨勫硷紝鍙互淇濈暀鍒颁笅涓娆¤皟鐢ㄦ椂缁х画鏈夋晥銆傜鏈夊氨鏄殣钘忋俿tatic鍑芥暟鍙兘澹版槑鍚庣殑鏈枃涓皟鐢ㄣ俿tatic鍏ㄥ眬鍙橀噺鍙兘澹版槑鍚庣殑鏈枃涓皟鐢ㄣ俿tatic灞閮ㄥ彉閲忓彧鑳藉0鏄庡悗鐨勬湰鍑芥暟璋冪敤 闈欐...
  • c璇█涓璼tatic鏄粈涔堟剰鎬(static鍦╟璇█涓鏄粈涔堟剰鎬濇槸鐢ㄤ粈涔堣緭鍑)_鐧 ...
    绛旓細鍦–璇█涓紝static鍏抽敭瀛椾笉浠呭彲浠ョ敤鏉ヤ慨楗板彉閲忥紝杩樺彲浠ョ敤鏉ヤ慨楗板嚱鏁銆傚湪浣跨敤static鍏抽敭瀛椾慨楗板彉閲忔椂锛屾垜浠О姝ゅ彉閲忎负闈欐佸彉閲忋傞潤鎬佸彉閲忕殑瀛樺偍鏂瑰紡涓庡叏灞鍙橀噺涓鏍凤紝閮芥槸闈欐佸瓨鍌ㄦ柟寮忋備絾杩欓噷闇瑕佺壒鍒鏄庣殑鏄紝闈欐佸彉閲忓睘浜庨潤鎬佸瓨鍌ㄦ柟寮忥紝灞炰簬闈欐佸瓨鍌ㄦ柟寮忕殑鍙橀噺鍗翠笉涓瀹氬氨鏄潤鎬佸彉閲忋備緥濡傦紝鍏ㄥ眬鍙橀噺铏界劧灞炰簬闈欐...
  • static鍦╟璇█涓鐨勭敤娉
    绛旓細static绠浠 鍍忓湪VB锛孋#锛孋锛孋++锛孞ava锛孭HP锛孫bjective-C锛孞avaScript涓垜浠彲浠ョ湅鍒皊tatic浣滀负鍏抽敭瀛鍜屽嚱鏁板嚭鐜帮紝鍦ㄥ叾浠栫殑楂樼骇璁$畻鏈鸿瑷濡侳ORTRAN銆丄LGOL銆丆OBOL銆丅ASIC銆丩ISP銆丼NOBOL銆丳L/1銆丳ascal銆丳ROLOG銆丄da绛璇█涓涔熸槸鏈夊嚭鐜扮殑锛屽彧鏄湁鐫涓嶅悓鐨勪綔鐢紝瀵逛簬鍏跺叿浣撲綔鐢紝璇昏呮湁闇瑕佺殑鏃跺欐槸鍙互鍏蜂綋鏌ラ槄...
  • c璇█static鍏抽敭瀛鐨勪綔鐢
    绛旓細c璇█static鍏抽敭瀛鐨勪綔鐢ㄦ槸浠涔堬紵璁╂垜浠竴璧蜂簡瑙d竴涓嬪惂锛1銆佷慨楗板彉閲 鍏ㄥ眬鍙橀噺鍓嶅姞static淇グ锛岃鍙橀噺灏辨垚涓轰簡闈欐佸叏灞鍙橀噺銆傚叏閮ㄥ彉閲忓湪鏁翠釜宸ョ▼閮藉彲浠ヨ璁块棶锛堜竴涓枃浠朵腑瀹氫箟锛屽叾瀹冩枃浠朵娇鐢ㄧ殑鏃跺欐坊鍔爀xtern鍏抽敭瀛楀0鏄 锛夛紝鑰屽湪娣诲姞浜唖tatic鍏抽敭瀛椾箣鍚庯紝杩欎釜鍙橀噺灏卞彧鑳藉湪鏈枃浠跺唴琚闂簡銆傚洜姝わ紝鍦ㄨ繖閲岋紝...
  • c璇█涓璼tatic璇存槑鏄粈涔堟剰鎬?
    绛旓細C璇█涓璼tatic鐨勫惈涔夋槸闈欐併傚叧浜巗tatic鍦–璇█涓鐨勮缁嗚В閲婂涓嬶細涓銆侀潤鎬佸彉閲忕殑瀹氫箟 鍦–璇█涓紝浣跨敤static鍏抽敭瀛澹版槑鐨勫彉閲忕О涓洪潤鎬佸彉閲忋傞潤鎬佸彉閲忓叿鏈夊浐瀹氱殑鐢熷懡鍛ㄦ湡锛屽畠浠湪鏁翠釜绋嬪簭鎵ц鏈熼棿閮戒細瀛樺湪锛岃屼笉鏄粎鍦ㄥ畠浠墍鍦ㄧ殑浠g爜鍧楁墽琛屽畬姣曞悗灏辫閿姣併傝繖鎰忓懗鐫闈欐佸彉閲忕殑鍊煎湪鍑芥暟璋冪敤涔嬮棿淇濇寔涓嶅彉銆備簩銆...
  • C璇█鐨鍏抽敭瀛閮芥湁鍝簺?
    绛旓細(3)default锛氬紑鍏宠鍙ヤ腑鐨勨滃叾浠栤濆垎鏀 D銆佽繑鍥炶鍙 return 锛氬瓙绋嬪簭杩斿洖璇彞(鍙互甯﹀弬鏁帮紝涔熺湅涓嶅甫鍙傛暟)3銆佸叧浜庡瓨鍌ㄧ被鍨嬬殑鍏抽敭瀛 (1)auto 锛氬0鏄庤嚜鍔ㄥ彉閲 涓鑸笉浣跨敤 (2)extern锛氬0鏄庡彉閲忔槸鍦ㄥ叾浠栨枃浠舵澹版槑(涔熷彲浠ョ湅鍋氭槸寮曠敤鍙橀噺)(3)register锛氬0鏄庣Н瀛樺櫒鍙橀噺 (4)static 锛氬0鏄庨潤鎬佸彉閲 4銆佸叾浠...
  • c璇█涓璼tatic鍏抽敭瀛
    绛旓細C++闈㈠悜杩囩▼鐨剆tatic鍜C鐨勬槸涓鏍风殑銆 C++鐨static鏈涓ょ鐢ㄦ硶锛氶潰鍚戣繃绋嬬▼搴忚璁′腑鐨剆tatic鍜岄潰鍚戝璞$▼搴忚璁′腑鐨剆tatic銆傚墠鑰呭簲鐢ㄤ簬鏅氬彉閲忓拰鍑芥暟锛屼笉娑夊強绫伙紱鍚庤呬富瑕佽鏄static鍦绫讳腑鐨勪綔鐢ㄣ備竴銆侀潰鍚戣繃绋嬭璁′腑鐨剆tatic 1銆侀潤鎬佸叏灞鍙橀噺 鍦ㄥ叏灞鍙橀噺鍓嶏紝鍔犱笂鍏抽敭瀛梥tatic锛岃鍙橀噺灏辫瀹氫箟鎴愪负涓涓潤鎬...
  • C璇█涓璼tatic鏄仛浠涔堢敤鐨?
    绛旓細鏈変袱绉嶇敤娉曪細1銆static淇グ灞閮ㄥ彉閲忥紝鎴愪负涓涓眬閮ㄩ潤鎬佸彉閲忋俿tatic淇グ灞閮ㄥ彉閲(闈欐佸眬閮ㄥ彉閲)涓庢櫘閫氬眬閮ㄥ彉閲忕浉姣旓紝瀹冪殑浼樺娍鍦ㄤ簬锛氣憼闈欐佸眬閮ㄥ彉閲忎綔鐢ㄥ煙涓庤繛鎺ュ睘鎬т笌鏅氬眬閮ㄥ彉閲忎竴鏍凤紱鈶″瓨鍌ㄧ被锛氶潤鎬佸眬閮ㄥ彉閲忓垎閰嶅湪data/bss娈碉紝鏅氬眬閮ㄥ彉閲忓湪鏍堜笂锛涒憿鐢熷懡鍛ㄦ湡锛氬洜涓哄瓨鍌ㄧ被鐨勪笉鍚岋紝闈欐佸眬閮ㄥ彉閲忕殑鐢熷懡鍛ㄦ湡...
  • 扩展阅读:static关键字的5种用法 ... public static void main ... c语言static的用法 ... static关键字说法正确 ... c语言status关键字 ... static关键字的特点 ... 简述static关键字 ... static在c++语言中的用法 ... c语言中static关键字的作用 ...

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