C语言中,const如何修饰全局变量、局部变量?有什么好处?

C\u8bed\u8a00\u4e2d\u5168\u5c40\u53d8\u91cf\u7684\u4f5c\u7528\u8303\u56f4\uff1f\u53ca\u5168\u5c40\u53d8\u91cf\u548cextern\u5b9a\u4e49\u53d8\u91cf\u7684\u533a\u522b\uff1f

\u5168\u5c40\u53d8\u91cf\u662f\u5728\u672c\u6587\u4ef6\u4e2d\u6240\u6709\u51fd\u6570\u90fd\u53ef\u4ee5\u4f7f\u7528\u7684\u53d8\u91cf\uff0c\u4fdd\u5b58\u5728\u9759\u6001\u5b58\u50a8\u533a\uff0c\u5982\u679c\u8981\u5728\u522b\u7684\u6587\u4ef6\u4e2d\u4f7f\u7528\u8fd9\u4e2a\u53d8\u91cf\u9700\u8981\u52a0\u4e0aextern\u6765\u58f0\u660e\uff0c\u8fd9\u4e2a\u53d8\u91cf\u662f\u5728\u522b\u7684\u6587\u4ef6\u4e2d\u5b9a\u4e49\u7684\u5168\u5c40\u53d8\u91cf\uff0c\u5c40\u90e8\u53d8\u91cf\u4e0d\u80fd\u5728\u522b\u7684\u6587\u4ef6\u4e2d\u7528extern\u58f0\u660e

\u770b\u4e86\u697c\u4e0a\u7684\u56de\u7b54,\u867d\u7136\u80fd\u5b8c\u5168\u89e3\u91ca\u8fd9\u4e2a\u95ee\u9898.
\u4f46\u662f\u6211\u4e0d\u80fd\u5b8c\u5168\u540c\u610f\u5176\u8bf4\u6cd5.

CPU \u5185\u5b58 \u7b49\u786c\u4ef6\u9ad8\u5ea6\u53d1\u5c55\u7684\u4eca\u5929,\u8fd9\u4e9b\u5df2\u7ecf\u4e0d\u662f\u6211\u4eec\u6240\u5fc5\u9700\u8981\u8003\u8651\u7684\u56e0\u7d20.
\u6ce8\u660e: \u5982\u4e0b\u5185\u5bb9,\u5e76\u975e\u9488\u5bf9\u672c\u9898(\u5185\u5b58\u533a\u522b),\u53ea\u662f\u6839\u636e\u6211\u7684\u7ecf\u9a8c\u8bf4\u51e0\u53e5.

\u5176\u5b9e,\u9664\u4e86\u8fde\u63a5\u6570\u636e\u5e93\u7684\u76f8\u5173\u914d\u7f6e\u7b49\u4ee5\u5916\u7684\u4e1c\u897f\u7684,\u6211\u4e0d\u592a\u63a8\u8350\u4f7f\u7528\u5168\u5c40\u53d8\u91cf.\u56e0\u4e3a,\u5728\u4e00\u4e2a\u5927\u7a0b\u5e8f\u8fd0\u884c\u65f6,\u522b\u8bf4\u4e00\u4e2a\u53d8\u91cf,\u5c31\u7b97\u662f\u5b50\u7a0b\u5e8f\u4e0e\u5b50\u7a0b\u5e8f\u4e0d\u505c\u5730\u5207\u6362\u4e5f\u662f\u975e\u5e38\u6b63\u786e\u7684\u4e8b.\u5982\u679c\u4f7f\u7528\u592a\u591a\u7684\u5168\u5c40\u53d8\u91cf,\u5bf9\u5b89\u5168\u975e\u5e38\u4e0d\u5229.
\u6240\u4ee5\u5e94\u8be5\u5c3d\u53ef\u80fd\u4f7f\u7528\u5c40\u90e8\u53d8\u91cf,\u4e0d\u4f46\u8981\u4f7f\u7528,\u8fd8\u8981\u7ec6\u5206\u6210\u591a\u4e2a\u5c42\u6b21,\u6bd4\u5982,\u51fd\u6570\u5185\u90e8\u7684,\u4e3a\u6700\u4f4e\u5c42,\u90a3\u4e48,\u51fd\u6570\u5916\u9762\u7684,\u4e3a\u7b2c\u4e8c\u5c42,\u518d\u5f80\u4e0a\u8d70,....(\u7565\u53bb\u4e00\u4e9b),\u7a0b\u5e8f\u4e0e\u7a0b\u5e8f\u4e4b\u95f4\u7684\u901a\u4fe1,\u4e3a\u5904\u4e09\u5c42,...(\u7565\u53bb\u4e00\u4e9b),\u518d\u5f80\u4e0a\u8d70,\u51fa\u4e86\u6574\u4e2a\u7a0b\u5e8f\u7684,\u4e3a\u6700\u9ad8\u5c42,\u4e5f\u5c31\u662f\u5168\u5c40\u53d8\u91cf.

\u4ec5\u4e3a\u4e2a\u4eba\u770b\u6cd5\u548c\u7ecf\u9a8c\u4e4b\u8c08,\u6709\u5174\u8da3\u7684\u670b\u53cb,\u53ef\u4ee5\u8ddf\u6211\u4ea4\u6d41.
\u4e0d\u611f\u5174\u8da3\u7684\u670b\u53cb\u8bf7\u98d8\u8fc7,\u522b\u9a82\u6211.\u56e0\u4e3a\u9a82\u6211\u4e5f\u6ca1\u7528.\u5475\u5475....

const是常量限制修饰关键字,这里举例常用的作用。
一.可以定义常量如:const int var = 7;即var不可写。但在C代码中,则只用#define指示定义常量。
二.更多的,也可以表明(修饰)函数入口参数如:
char *strcpy(char *dest, const char *src);阅读这个函数声明时,首先结合参数命名、然后根据const就知道src是个常量指针那么它就是入口参数,dest是个出口参数,功能就是把src指向的串复制到dest。

#include <stdio.h>

int main()
{
const int x=100;
// x=200;//用const修饰的变量是不允许被修改的,要是这样编译时会报错的
printf("%d\n",x);
return 0;
}//至于怎么用,就是用就是在定义变量前加喽

避免无意的数据修改

我的C语没学好

  • C璇█涓,const濡備綍淇グ鍏ㄥ眬鍙橀噺銆佸眬閮ㄥ彉閲?鏈変粈涔堝ソ澶?
    绛旓細const鏄父閲忛檺鍒淇グ鍏抽敭瀛楋紝杩欓噷涓句緥甯哥敤鐨勪綔鐢ㄣ備竴锛庡彲浠ュ畾涔夊父閲忓锛歝onst int var = 7;鍗硋ar涓嶅彲鍐欍備絾鍦C浠g爜涓紝鍒欏彧鐢#define鎸囩ず瀹氫箟甯搁噺銆備簩锛庢洿澶氱殑锛屼篃鍙互琛ㄦ槑锛堜慨楗帮級鍑芥暟鍏ュ彛鍙傛暟濡傦細char *strcpy(char *dest, const char *src);闃呰杩欎釜鍑芥暟澹版槑鏃讹紝棣栧厛缁撳悎鍙傛暟鍛藉悕銆佺劧鍚庢牴鎹甤onst灏...
  • C璇█涓璫onst鐨勯偅浜涚粏鑺備笌濡欐嫑
    绛旓細C璇█涓璫onst鐨勯偅浜涚粏涓庡鎷01銆乧onst鍦–鍜孋++涓 鍋囧鎶const淇グ鐨勫悕绉拌涓哄父閲忥紝閭d箞鍏朵綔涓烘暟缁勫ぇ灏忚缃簲璇ヨ兘澶熼氳繃缂栬瘧鎵嶅锛岃屽湪DV涓嬬紪璇戝緱鍒板涓嬬粨鏋滐細Message[Error]variably modified 'array'at file scoperecipe for target 'main.o'failed銆02銆乧onst淇グ鍏ㄥ眬涓庡眬閮 鏃㈢劧const鏄竴涓彧璇诲彉閲忥紝鏄...
  • const鍦c璇█涓鐨勭敤娉
    绛旓細1.const鏄疌璇█涓殑鍏抽敭瀛楋紝涓昏浣滅敤鏄檺瀹氫竴涓彉閲忎笉鍏佽琚敼鍙橈紝浜х敓闈欐佷綔鐢ㄣ備娇鐢╟onst鍦ㄤ竴瀹氱▼搴︿笂鍙互鎻愰珮绋嬪簭鐨勫畨鍏ㄦу拰鍙潬鎬с傞櫎浜嗗父瑙勭殑瀹氫箟甯搁噺澶栵紝const杩樺彲浠淇グ灞閮ㄥ彉閲忋佸叏灞鍙橀噺銆佸彉閲忔寚閽堜互鍙婁綔涓哄嚱鏁板弬鏁 2.鍦C璇█涓紝const鏈甯歌鐨勭敤娉曟槸浣滀负鏁扮粍鐨勮竟鐣屽拰switch鍒嗘儏鍐垫爣鍙凤紝鍚屾椂涔熷彲浠ュ畾...
  • const鍦c璇█涓鐨勭敤娉
    绛旓細const鍦c璇█涓鐨勭敤娉曞氨鏄檺瀹氫竴涓彉閲忎笉鍏佽琚敼鍙橈紝浜х敓闈欐佷綔鐢ㄣ俢onst鏄竴涓狢璇█锛圓NSI C锛夌殑鍏抽敭瀛楋紝鍏锋湁鐫涓捐冻杞婚噸鐨勫湴浣嶃備娇鐢╟onst鍦ㄤ竴瀹氱▼搴︿笂鍙互鎻愰珮绋嬪簭鐨勫畨鍏ㄦу拰鍙潬鎬э紝鍙﹀鍦ㄨ鐪嬪埆浜轰唬鐮佺殑鏃跺欙紝娓呮櫚鐞嗚Вconst鎵璧风殑浣滅敤锛屽鐞嗚В瀵规柟鐨勭▼搴忎篃鏈変竴瀹氬府鍔┿俢onst鍦ㄥ叾瀹冪紪绋嬭瑷涓篃鏈夊嚭鐜帮紝...
  • C璇█鐨刢onst鍏抽敭瀛椾笌鎸囬拡鎼厤浣跨敤
    绛旓細(1)鐢const淇グ涓鑸彉閲忔敞鎰忓湪C璇█涓紝鐢╟onst淇グ鐨勫彉閲忓繀椤诲湪澹版槑鏃惰繘琛屽垵濮嬪寲(鐢ㄦ潵淇グ鍑芥暟鐨勫舰鍙傞櫎澶);濡:const int n; 杩欑澹版槑鏂瑰紡鏄敊璇鐨刢onst int n=5; 姝g‘void fun(const int n); 姝g‘const char a; 閿欒char * const p; 閿欒const char *p;姝g‘(娉ㄦ剰杩欑涓轰粈涔堟槸姝g‘鐨),鍥犱负杩欓噷...
  • C璇█涓璫onst鏄粈涔堟剰鎬濄傘傘
    绛旓細缁撹鏄锛孋璇█涓殑const鍏抽敭瀛楁湁鐫娣辫繙鐨勫垵琛凤紝鏃ㄥ湪浼樺寲骞剁户鎵块缂栬瘧鎸囦护鐨勪紭鐐癸紝鍚屾椂瑙e喅鍏剁己鐐广俢onst鐨勭伒娲绘т綋鐜板湪瀹冨湪涓嶅悓鍦哄悎涓嬬殑澶氱搴旂敤锛屾棤璁烘槸淇グ鏅氬彉閲忚繕鏄寚閽堬紝閮藉叿鏈変笉鍚岀殑绾︽潫鍜屽惈涔夈傚綋const鐢ㄤ簬淇グ鏅氬彉閲忥紙闄ゆ寚閽堝锛夋椂锛'const type name'鍜'type const name'褰㈠紡绛夋晥锛岃〃绀哄彉閲...
  • C璇█涓 const鍙互鐩存帴淇グ鏁版嵁绫诲瀷鍚?
    绛旓細濡(1)涓,濡傛灉鎯充慨鏀筂ax鐨勫唴瀹,鍙渶瑕:const int Max=you want;鍗冲彲! (4)鍙互淇濇姢琚淇グ鐨勪笢瑗,闃叉鎰忓鐨勪慨鏀,澧炲己绋嬪簭鐨勫仴澹с 杩樻槸涓婇潰鐨勪緥瀛,濡傛灉鍦ㄥ嚱鏁颁綋鍐呬慨鏀逛簡i,缂栬瘧鍣ㄥ氨浼氭姤閿; 渚嬪: void f(const int i) { i=10;//error! } (5) 涓哄嚱鏁伴噸杞芥彁渚涗簡涓涓弬鑰冦 class A { ... void ...
  • C璇█鍏抽敭璇嶅涔犳荤粨?
    绛旓細瀵瑰共涓涓叏閮ㄥ彉閲忥紝鏃㈠彲浠ュ湪鏈簮鏂囦欢涓璁块棶鍒帮紝涔熷彲浠ュ湪鍚屼竴涓伐绋嬬殑鍏跺畠婧愭枃浠朵腑琚闂(鍙渶鐢╡xtern杩涜澹版槑鍗冲彲)銆傚鏋滃姞涓妔tatic锛岄檺鍒惰鍏ㄥ眬鍙橀噺鐨勪綔鐢ㄥ煙鑼冨洿锛岀敱鍘熸潵鐨鏁翠釜宸ョ▼鍙鍙樹负鏈簮鏂囦欢鍙銆備簩銆乧onst鍏抽敭瀛 1銆佺敤const淇グ涓鑸彉閲 鐢╟onst淇グ鐨勫彉閲忓繀椤诲湪澹版槑鏃惰繘琛屽垵濮嬪寲(鐢ㄦ潵淇グ...
  • const鍦c璇█涓鐨勭敤娉
    绛旓細璇璇█涓昏鐢ㄩ旀槸瀹氫箟甯搁噺锛屽嵆涓嶅彲淇敼鐨勫彉閲忋俢onst鍙互鐢ㄦ潵瀹氫箟甯搁噺锛屽嵆鍦ㄧ▼搴忚繍琛屾湡闂村叾鍊间笉鑳芥敼鍙樼殑鍙橀噺銆備緥濡锛宑onst int MAX_VALUE =100锛 瀹氫箟浜嗕竴涓悕涓篗AX_VALUE鐨勫父閲忥紝鍏跺间负100锛屼笖杩欎釜鍊煎湪绋嬪簭杩愯鏈熼棿涓嶈兘琚敼鍙樸俢onst涔熷彲浠ヤ笌鎸囬拡涓璧蜂娇鐢紝浠ラ槻姝㈡寚閽堟寚鍚戠殑鍊艰淇敼銆傚湪鍑芥暟鍙傛暟涓娇鐢...
  • c璇█涓璫onst銆乻tatic鍏抽敭瀛楃殑鐢ㄦ硶?
    绛旓細const鏄寚甯告暟锛岃繖绉嶆暟瀛樻斁鍦╮om涓紝涔熷氨鏄‖鐩閲岋紝鍙湁浣跨敤鐨勬椂鍊欐墠璇诲彇鍒板唴瀛樸俿tatic绫诲瀷鐨勬槸灞閮ㄩ潤鎬佹暟鎹紝棣栧厛浠栬偗瀹氭槸灞閮ㄥ彉閲忥紝浣嗘槸浠栫殑鐢熷瓨鏈熸槸鍏ㄥ眬鐨勩俢onst鏁颁笉鑳借淇敼锛屼篃涓嶈兘鏄眬閮ㄥ彉閲忋俿tatic涓鑸敤浜庡眬閮ㄥ彉閲忥紝浣嗘槸浠栧彲浠ヨ淇敼锛屽苟涓旈鍑哄紩鐢ㄤ粬鐨勫嚱鏁颁綋鍚庡彉閲忎緷鏃у瓨鍦紝鐩村埌涓嬩竴娆″紩鐢ㄦ椂...
  • 扩展阅读:c++编程 ... const的含义 ... c++中cout的用法 ... construct ... c语言const用法 ... c语言struct用法 ... c++中const用法 ... c语言日历程序流程图 ... const语句 ...

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