const与char*的区别是什么?

一、含义的不同

char* 表示一个指针变量,并且这个变量是可以被改变的。

const char*表示一个限定不会被改变的指针变量。

二、模式的不同

char*是常量指针,地址不可以改变,但是指针的值可变。

const char*是指向常量的常量指针,地址与值均不可变。

三、指针指向的内容的不同

char*指针指向的内容是可以改变的,是不固定的。赋值后在数据传递的过程中允许改变。

const char*指针指向的内容是固定的,不可改变的。对传入的参数,不会对指针指向的内容进行修改

四、意义的不同

char* str确保str这个指针不会改变,但是这个指针里面的内容可以改变。

const char* str确保*str的内容不会改变,也就是用str这个指针无法改变str这个指针指向的地址的内容,但是可以改变这个指针。

const是一个C语言(ANSI C)的关键字,具有着举足轻重的地位。它限定一个变量不允许被改变,产生静态作用。使用const在一定程度上可以提高程序的安全性和可靠性。

另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一定帮助。另外CONST在其它编程语言中也有出现,例如Pascal、C++、PHP5、B#.net、HC08 C、C#等。

以上内容参考 百度百科  CONST  



  • 濡備綍鐢char鍜宑onst char姣旇緝
    绛旓細const char *鎵鎸囨槑鐨勫彉閲忔槸涓嶈兘淇敼鐨勶紝鏄竴涓寚鍚戞寚閽堢殑鎸囬拡锛岄偅涓寚閽堝張鎸囧悜涓涓瓧绗︿覆甯搁噺銆char *閫氬父鏄竴涓彉閲忥紝涔熸槸涓涓寚鍚戞寚閽堢殑鎸囬拡锛岄偅涓寚閽堝張鎸囧悜涓涓瓧绗︿覆鍙橀噺銆
  • const char *璧嬪 char*
    绛旓細绗竴绉嶆儏鍐碉細char *p="123";鏄皢p鎸囬拡鎸囧悜浜const瀛楃涓测123鈥濓紱涔熷氨鏄p鏄寚鍚戝父閲忕殑鎸囬拡锛屾墍浠ワ紝*锛++p锛=鈥榢鈥欏嚭閿欙紝鍥犱负浣犲湪璇曞浘瀵瑰父閲忛噸鏂拌祴鍊笺傜浜岀鎯呭喌锛歝har c[]="hello";杩欎釜鏄瘮杈冨鏄撴贩娣嗙殑锛屽洜涓哄叾褰㈠紡寰堝儚绗竴绉嶏紝浣嗗叾瀹炴湁鏈川鐨勫尯鍒銆傝繖閲屾垜浠敤瀛楃涓测渉ello鈥濇潵鍒濆鍖栨暟缁...
  • 濡備綍鐞嗚Вconst char*,char const*,char*const绛
    绛旓細2)鎸囬拡甯搁噺(鍥藉唴鏈変汉绉颁负"甯搁噺鎸囬拡")char * const 鍖哄垎鎸囧悜甯搁噺鐨勬寚閽堝拰鎸囬拡甯搁噺鐨勬柟娉曟槸:鐪媍onst鍏抽敭瀛楀湪*鐨勫乏渚ц繕鏄彸渚э紝濡傛灉鏄乏渚у垯灞炰簬1)锛屽鏋滄槸鍦ㄥ彸渚у垯灞炰簬2)銆3)鎸囧悜甯搁噺鐨勬寚閽堝拰鎸囬拡甯搁噺鏈変粈涔堝尯鍒锛熸寚鍚戝父閲忕殑鎸囬拡锛屾鏃舵寚閽堜笉鑳戒慨鏀硅鎸囧悜鐨勫硷紝浣嗘寚閽堟湰韬彲浠ユ敼鍙樻寚鍚戙傛寚閽堝父閲,鎸囬拡鐨...
  • C++璇█涓const char*鐨鎰忔
    绛旓細const鏄涓涓狢璇█鐨勫叧閿瓧锛屽畠闄愬畾涓涓彉閲忎笉鍏佽琚敼鍙樸備娇鐢╟onst鍦ㄤ竴瀹氱▼搴︿笂鍙互鎻愰珮绋嬪簭鐨勫畨鍏ㄦу拰鍙潬鎬с傚浣犳墍璇寸殑锛宑onst char*="abcdef";char*鍦ㄨ繖涓殑鍑芥暟涓紝涓嶅彲浠ュ啀鍙﹀璧嬪笺傚鍚庨潰鏈塩har*="abf";涔嬬被鐨勶紝浼氭姤閿
  • 濡備綍鐞嗚Вconst char*,char const*,char*const绛
    绛旓細char* const p; //p鏄痗onst,*p鍙彉 const char* const p; //p鍜*p閮芥槸const 
char const * p;// *p鏄痗onst,p鍙彉 (char*) const p;//p鏄痗onst,*p鍙彉 char* const p;// p鏄痗onst,*p鍙彉 char const* const p;// p鍜*p閮芥槸const 涓婇潰杩欎簺澹版槑鎰忎箟锛屽強浠栦滑鐨勫尯鍒浣犻兘璁颁綇...
  • const char浠涔堟剰鎬
    绛旓細p :鍥犱负const 淇グ绗﹀湪 鍙峰墠闈,鍥犳const 淇グ鐨勬槸 (*p),p鎸囧悜鐨勫瓧绗︿覆鏄const鐨.char const p :绛変环浜巆onst char p,const 淇グ绗﹀湪 鍙峰墠闈,const 淇グ鐨勬槸 (*p),p鎸囧悜鐨勫瓧绗︿覆鏄痗onst.char const p:const淇グ鐨勬槸鍙橀噺p,鍙橀噺p鏄 char 绫诲瀷鐨,杩欎釜char 鍙橀噺鏈槸const,瀹冪殑鍊煎垵濮嬪寲鍚庡氨涓嶈兘...
  • const char* a鍜宑har* const a鐨勫尯鍒
    绛旓細const char a :搴曞眰const char const a :椤跺眰const 搴曞眰const鏄璇达細涓涓寚閽堟寚鍚戠殑瀵硅薄鐨勫硷紝涓嶅彲閫氳繃杩欎釜鎸囬拡鏀瑰彉锛屾垨鑰呬竴涓乏鍊煎紩鐢ㄧ粦瀹氱殑瀵硅薄鐨勫硷紝涓嶅彲閫氳繃杩欎釜寮曠敤鏀瑰彉銆傛瘮濡傦細char z;const char a = &z;char b = &z;const char &c = z;char &d = z;const闄愬畾锛氫笉鍙氳繃涓*a鍜宑...
  • const char* a鍜宑har* const a鐨勫尯鍒
    绛旓細char *const a : 椤跺眰const 搴曞眰const鏄璇达細涓涓寚閽堟寚鍚戠殑瀵硅薄鐨勫硷紝涓嶅彲閫氳繃杩欎釜鎸囬拡鏀瑰彉锛屾垨鑰呬竴涓乏鍊煎紩鐢ㄧ粦瀹氱殑瀵硅薄鐨勫硷紝涓嶅彲閫氳繃杩欎釜寮曠敤鏀瑰彉銆傛瘮濡傦細char z;const char *a = &z;char *b = &z;const char &c = z;char &d = z;const闄愬畾锛氫笉鍙氳繃涓*a鍜宑璧嬪兼潵鏀瑰彉z鐨勫硷紝浣嗘槸...
  • c++ const char *s 鏄粈涔堟剰鎬
    绛旓細const char *s鏄寚鍚戝父閲忕殑鎸囬拡銆傝鍏蜂綋鐐瑰氨鏄寚鍚戜竴涓瓧绗﹀父閲忕殑鎸囬拡鍙橀噺銆備娇鐢ㄦ鍙ュ悗涓嶅厑璁告敼鍙樻寚閽堟墍鎸囧悜鐨勫父閲忥紝浣嗗彲浠ユ敼鍙樻寚閽堢殑鎸囧悜锛屽嵆鍙鎸囬拡鎸囧悜鍙︿竴涓瓧绗︿覆 鎴戜负浣犺缁嗚涓涓嬫湁const淇グ鐨勬寚閽堛俢onst char *s涓婇潰宸茬粡璇磋繃銆傜幇鍦ㄨ涓char *const s锛岃繖鏄竴涓父鎸囬拡锛屽嵆鎸囬拡鏈韩涓哄父閲忥紝...
  • ...char **,char const* p,const char* p鍜宑har * const p鐨勫尯鍒...
    绛旓細char **鈥斺旂敤浜庡0鏄庢寚鍚戝瓧绗﹀彉閲忔寚閽堢殑鎸囬拡锛const char **鈥斺旂敤浜庡0鏄庢寚鍚戝瓧绗﹀父閲忕殑鎸囬拡鐨勬寚閽(瀛楃鍙橀噺鐨勫间笉鑳芥敼鍙)锛沜har const* p鈥斺斿0鏄庢寚鍚戝瓧绗﹀父閲忕殑鎸囬拡p(鎸囬拡p鎸囧悜鐨勫唴瀹逛笉鑳芥敼鍙)锛沜onst char* p鈥斺斾笌涓婁竴鏉$浉鍚岋紱char * const p鈥斺斿0鏄庢寚鍚戝瓧绗﹀瀷鍙橀噺鐨勫父鎸囬拡(p鍐嶄笉鑳芥寚鍚戝埆澶...
  • 扩展阅读:char和const char不兼容 ... const char*和char*的转换 ... const char *p ... const char 类型 ... const char是啥意思 ... const在c语言中的用法 ... const char ch为什么错了 ... c代码中const char ... c语言const char与char ...

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