溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C語言中字符串和字符數(shù)組的區(qū)別

發(fā)布時(shí)間:2020-07-13 15:39:09 來源:網(wǎng)絡(luò) 閱讀:523 作者:plan1230 欄目:編程語言

字符數(shù)組:

char a[2]={'a','b','c'};

char a[]={'a','b','c'};

字符串:

char a[3]={“abc”};

char a[3]="abc";   //此處可以省略大括號(hào)

char a[]="abc";     // 與char a[3]={'a','b','c','\0'};    相同


紅字表明的地方為什么要變成3呢,因?yàn)樽址x值給數(shù)組后,在最后會(huì)默認(rèn)增加一個(gè)字符“\0”,多占用一個(gè)字符,如果定義的數(shù)組空間不夠,可能引起存儲(chǔ)錯(cuò)誤,更改系統(tǒng)內(nèi)存中其它數(shù)據(jù),導(dǎo)致嚴(yán)重后果,如:


char a[2]="abc";


a[0]='a',

a[1]='b',

a[2]='c',


(a+3)指向地址空間被賦值為'\0',而這并不是程序所希望的,擅自刪改內(nèi)存中的數(shù)據(jù),后果可想而知。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI