筆記6 字元陣列和字串的本質差異(記憶體分配角度)

2021-08-14 07:45:46 字數 439 閱讀 4490

字元陣列和字串的本質差異(記憶體分配角度)

1.字元陣列

char a = 「linux」;

定義乙個陣列a,陣列a佔6位元組,右值」linux」本身只存在於編譯器中,編譯器將它用來初始化字元陣列a後丟掉(也就是說記憶體中是沒有」linux」這個字串的);這句話就相當於是:char a = ;

2.字串

char *p = 「linux」;

定義了乙個字元指標p,p佔4個位元組,分配在棧上;同時還定義了乙個字串」linux」,分配在常量段(老朱說是**段);然後把常量段中的字串的首位址(也就是』l』的位址)賦給了p。

總結對比:

字元陣列和字串有本質區別。字元陣列本身是陣列,陣列自身自帶記憶體空間,可以用來存東西;而字串本身是指標,本身永遠只佔4位元組,而且這4位元組還不能用來存有效資料,所以只能把有效資料存到別的地方,然後首位址存p中。

ES6 字串 字串

又到了一天一度的寫筆記的時間了,今天看的es6字串部分,因為內容我感覺挺多的,而且需要理解,所以第二個部分模板字串的筆記就放到明天來寫了,今天就寫一下學習字串物件的筆記,筆記分為以下幾點 開始今天的筆記吧!什麼字元的表示方法?第一次聽到這個問題的時候,可能一臉蒙,我查閱了一下資料,簡單的大概的了解了...

6 字串函式

strcpy函式char strcpy char dest,const char src 功能 把src所指向的字串覆蓋複製到dest。返回值 dest指向的字串。注意 字串src的長度不能超過dest,否則會溢位。strncpy函式char strncpy char dest,const char...

6 字串拼接

字串相加 alert hello world hello world 數值字串相加 alert 100 100 100100 數值字串 數值 alert 11 12 1112口訣 數值相加,字元相連 var age 18 console.log pink老師age歲啦 這樣不行 console.lo...