C语言中多次调用函数时静态局部变量只赋值一次

C\u8bed\u8a00\u4e2d\u591a\u6b21\u8c03\u7528\u51fd\u6570\u65f6\u9759\u6001\u5c40\u90e8\u53d8\u91cf\u53ea\u8d4b\u503c\u4e00\u6b21

\u5f53\u7f16\u8bd1\u5668\u5904\u7406\u8be5\u4ee3\u7801\u65f6\uff0c\u9047\u5230\u9759\u6001\u53d8\u91cf\u7684\u521d\u59cb\u5316\uff0c\u5c31\u4f1a\u5728\u51fd\u6570f\u5916\u5355\u72ec\u751f\u6210\u4e00\u6761\u547d\u4ee4\uff0c\u7ed9j\u8d4b\u503c\u4e3a0. \u8fd9\u4e9b\u547d\u4ee4\u751a\u81f3\u4f1a\u5728main\u51fd\u6570\u8c03\u7528\u4ee5\u524d\u5c31\u6267\u884c\u3002\u800c\u5728\u51fd\u6570\u4e2d\uff0c\u7b2c\u4e00\u6761\u8bed\u53e5\u5b9e\u9645\u4e0a\u4e0d\u662fj=0\uff0c\u800c\u662f++j\u3002

\u8fd9\u6837\uff0c\u4f7f\u5f97\u9759\u6001\u5c40\u90e8\u53d8\u91cf\u53ea\u521d\u59cb\u5316\u4e00\u6b21\u3002

\u9519\u7684\uff0c\u53d8\u91cf\u662f\u53ef\u4ee5\u4fee\u6539\u7684\uff0c\u5e38\u91cf\u4e0d\u53ef\u4ee5
\u9759\u6001\u5c40\u90e8\u53d8\u91cf\u548c\u9759\u6001\u5916\u90e8\u53d8\u91cf\u662f\u4e00\u6837\u7684\uff0c\u5dee\u522b\u5c31\u662f\u4e00\u4e2a\u5c40\u90e8\u4e00\u4e2a\u5168\u5c40\uff0c\u53ea\u662fstatic\u53c8\u4e0d\u662fconst

静态局部变量实际上是外部于这个函数的全局量,退出函数时,它的值保留在那里,再调用函数时,如果不被赋新值,它仍保留老值。

  • C璇█,鐢闈欐佸眬閮鍙橀噺璁$畻闃朵箻鍘熺悊鏄粈涔?
    绛旓細闈欐鍙橀噺鍙互璁板綍涓婁竴娆$殑鍊硷紝鍥犱负浣犺繖鏄敤for(i=1杩欐牱鏉ュ惊鐜殑锛屾墍浠ユ瘮濡傜涓娆″惊鐜 i=1 p=1*1=1 i=2 p=1*2=2锛1鏄笂涓娆$殑p锛塱=3 p=2*3=6 锛2鏄笂涓娆$殑p)i=4 p=6*4=24 杩欐牱鑷劧灏辫绠楀嚭浜1鍒10涔嬮棿锛屾瘡涓暟鐨勯樁涔樸
  • 绠杩闈欐佸眬閮鍙橀噺鍜岃嚜鍔ㄥ彉閲忕殑鍖哄埆,骞朵妇渚嬭鏄 C璇█鐨 鎬ユ眰绛旀_鐧惧害...
    绛旓細鐢熷懡鍛ㄦ湡涓嶅悓锛1銆佸姩鎬佸彉閲忕敓鍛藉懆鏈熶粎涓哄嚱鏁版墽琛屾椂闂村懆鏈燂紝璇鍑芥暟璋冪敤缁撴潫锛屽彉閲忛攢姣侊紱2銆闈欐鍙橀噺鐢熷懡鍛ㄦ湡寤堕暱鍒版暣涓▼搴忔墽琛岀粨鏉燂紙涓嶆槸璇ュ嚱鏁拌皟鐢ㄧ粨鏉燂紝鏄痬ain鍑芥暟缁撴潫锛夛紝鏈鍑芥暟璋冪敤缁撴潫锛屽彉閲忎笉閿姣侊紝鍐嶆璋冪敤璇ュ嚱鏁 璇ュ彉閲忎繚鐣欎笂涓娆$殑鍊笺
  • C璇█:鍏ㄥ眬銆灞閮銆闈欐鎬婚敊銆傛眰瑙i噴:杩欓亾閫夋嫨涓轰粈涔圔銆傛渶濂借缁嗗垎鏋...
    绛旓細static 鍜 鍏ㄥ眬閲忥紝浼氫繚鎸佷笂娆$殑缁撴灉銆俴++ 鍦ㄨ〃杈惧紡涓敤 k, 鍑轰簡琛ㄨ揪寮 鑷1銆俻=f(k,m);绗竴娆璋冪敤锛氬叏灞k=4, 涓鍑芥暟m=1锛 浼犲叆瀛愮▼搴 a=4,b=1;i=2+0+4=6;k=k+1=5;m=6+4+1=11; 閫佸洖 鎵撳嵃 11 --- 绗2娆¤皟鐢細鍏ㄥ眬k=5, 涓诲嚱鏁癿=1锛 浼犲叆瀛愮▼搴 a=5, b=1;i ...
  • static鍦c璇█涓鐨勭敤娉
    绛旓細static鍦c璇█涓鏄鏈夈侀潤鎬佹剰鎬濄傜敤浜庡湪鍑芥暟涓0鏄庘滈潤鎬佸彉閲忊濈敤锛屽湪姣忎竴娆¤皟鐢ㄥ悗锛岃鍙橀噺骞朵笉鍦ㄥ嚱鏁拌繑鍥炴椂绔嬪嵆閲婃斁锛屽彉閲忎腑淇濆瓨鐨勫硷紝鍙互淇濈暀鍒颁笅涓娆璋冪敤鏃缁х画鏈夋晥銆傜鏈夊氨鏄殣钘忋俿tatic鍑芥暟鍙兘澹版槑鍚庣殑鏈枃涓皟鐢ㄣ俿tatic鍏ㄥ眬鍙橀噺鍙兘澹版槑鍚庣殑鏈枃涓皟鐢ㄣstatic灞閮鍙橀噺鍙兘澹版槑鍚庣殑鏈鍑芥暟璋冪敤 闈欐...
  • C璇█涓璼tatic淇グ鍙橀噺
    绛旓細鍙互锛宻tatic鍦C璇█涓鏄〃绀轰竴涓彉閲忎负闈欐佸彉閲忕殑锛岃屼笉鏄父閲忥紝涔熶笉鏄笉鍙彉鐨勫彉閲忋傛墍璋撶殑闈欐佸彉閲忔湁涓ょ鎯呭喌锛屼竴绉嶆槸闈欐佸叏灞鍙橀噺锛屼竴绉嶆槸闈欐佸眬閮鍙橀噺銆傚厛璇撮潤鎬佸眬閮ㄥ彉閲忥細閫氬父鎯呭喌涓嬶紝鍦ㄤ竴涓鍑芥暟涓畾涔変竴涓彉閲忥紝閭d箞鍑芥暟閫鍑轰箣鍚庯紝杩欎釜鍙橀噺灏辨秷澶变簡锛屽嵆浣夸綘绗簩娆璋冪敤杩欎釜鍑芥暟锛岄噷闈㈢殑鍙橀噺涔熶細琚...
  • c璇█涓 鍑芥暟璋冪敤缁撴潫鍚,鍑芥暟鍐呭畾涔夌殑闈欐鍙橀噺鎵鍗犵敤鐨勭┖闂磋閲婃斁 杩欏彞...
    绛旓細涓嶆纭紝鍑芥暟鍐鐨勯潤鎬鍙橀噺鍦ㄨ鍑芥暟璋冪敤缁撴潫鍚庯紝涓旇鍑芥暟鎵鍦ㄧ殑妯″潡娌℃湁琚噴鏀剧殑鎯呭喌涓嬶紝杩欎釜闈欐佸彉閲忓间负涓婃鍑芥暟璋冪敤鍚庣殑鍊笺傝繖鏍疯姣旇緝鎶借薄銆備妇渚嬭鏄庝竴涓嬶細void AA(){ static int s_iCount; //C璇█榛樿鍒濆鍖0鍊 s_iCount++; //姣忚皟鐢ˋA()涓娆★紝s_iCount浼氳嚜鍔犱竴娆 printf("%d\n", ...
  • c璇█涓 鍑芥暟璋冪敤缁撴潫鍚,鍑芥暟鍐呭畾涔夌殑闈欐鍙橀噺鎵鍗犵敤鐨勭┖闂磋閲婃斁 杩欏彞...
    绛旓細閿欒锛佺涓锛屽浜庡姩鎬佸瓨鍌ㄦ柟寮忥紝鍦ㄥ嚱鏁拌皟鐢ㄥ紑濮嬫椂鍒嗛厤鍔ㄦ佸瓨鍌ㄧ┖闂达紝鍑芥暟缁撴潫鏃堕噴鏀捐繖浜涚┖闂达紝渚嬪浼犲鐨勫嚱鏁拌皟鐢锛宨nt x=3,y=4; fun(x,y)//鍑芥暟閲x=4,y=3 ;鍑芥暟璋冪敤缁撴潫鍚庨噴鏀撅紝main鍑芥暟浠嶇劧鏄痻=3,y=4 绗簩锛屽湪闈欐瀛樺偍鍖哄唴鍒嗛厤鐨勫瓨鍌ㄥ崟鍏冿紝鍦ㄧ▼搴忔暣涓繍琛屾湡闂撮兘涓嶉噴鏀,鑻ラ潪蹇呰锛屽敖閲忎笉...
  • C璇█鍔ㄦ佸彉閲忓拰闈欐鍙橀噺鐨鍖哄埆
    绛旓細闈欐鍏ㄥ眬鍙橀噺锛氫綔鐢ㄥ煙涓哄綋鍓嶆枃浠讹紝浠庡畾涔/澹版槑浣嶇疆鍒版枃浠剁粨灏撅紝鐢熷懡鍛ㄦ湡涓轰粠绋嬪簭杩愯鍒扮▼搴忛鍑猴紝鍗宠疮绌挎暣涓繍琛屾椂闂淬傚父閲忎娇鐢 闈欐佸彉閲忎篃鍙互鐢ㄤ簬瀛樺偍甯告暟銆傚叿浣撴潵璇达紝闈欐佸彉閲忥紙鍏ㄥ眬鍙橀噺鍙婃眹缂璇█閲瀹氫箟鐨勭鍙蜂害鍚岋級鍙敤const锛宑onstant鎴杅inal锛堟牴鎹瑷鍐冲畾锛夌瓑鍏抽敭瀛楁爣璇嗭紝杩欐椂鍏跺煎氨浼氬湪缂栬瘧鏃惰瀹氾紝骞朵笖...
  • c璇█ 鍦鍑芥暟涓敤static瀹氫箟涓涓猰 涓ゆ璋冪敤杩欎釜鍑芥暟 涓轰粈涔坢鐨鍊间細绱...
    绛旓細static鏄畾涔変簡涓涓闈欐鍙橀噺锛岃繖涓彉閲 浣犲氨鍙互鎶婁粬褰撴垚涓涓叏灞鍙橀噺鏉ョ湅寰咃紝鐭ラ亾浣犵殑绋嬪簭缁撴潫涔嬪悗锛岃繖涓彉閲忔墠浼氶噴鏀撅紝浠栧拰灞閮鍙橀噺鏄笉鍚岀殑
  • c璇█涓璼tatic璇存槑鏄粈涔堟剰鎬?
    绛旓細鍦C璇█涓锛宻tatic鍏抽敭瀛楃殑浣滅敤濡備笅锛1銆佸湪淇グ鍙橀噺鐨勬椂锛宻tatic淇グ鐨闈欐佸眬閮鍙橀噺鍙墽琛屼竴娆★紝鑰屼笖寤堕暱浜嗗眬閮ㄥ彉閲忕殑鐢熷懡鍛ㄦ湡锛岀洿鍒扮▼搴忚繍琛岀粨鏉熶互鍚庢墠閲婃斁銆2銆乻tatic淇グ鍏ㄥ眬鍙橀噺鐨勬椂锛岃繖涓叏灞鍙橀噺鍙兘鍦ㄦ湰鏂囦欢涓闂紝涓嶈兘鍦ㄥ叾瀹冩枃浠朵腑璁块棶锛屽嵆渚挎槸extern澶栭儴澹版槑涔熶笉鍙互銆3銆乻tatic淇グ涓涓鍑芥暟锛屽垯杩欎釜...
  • 扩展阅读:延时c# ... c语言怎么调用函数 ... c语言如何调用函数 ... 函数调用的三种方式 ... c程序中当调用函数时 ... c语言库函数大全 ... c语言计算x的n次幂 ... 函数调用有哪三种 ... c#如何调用类里的函数 ...

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