字元陣列和字串的區別

2021-08-01 02:01:59 字數 509 閱讀 1598

字元陣列和字串的區別

1.    字串指標變數本身是乙個變數,用於存放字串的首位址。而字串本身是存放在以該首位址為首的一塊連續的記憶體空間中並以『\0』作為串的結束。

字元陣列是由於若干個陣列元素組成的,它可用來存放整個字串。

2.   對字串指標方式 char *ps="c language"; 

可以寫為:

char *ps; ps="c language"; 

而對陣列方式: static char st=; 

不能寫為:

char st[20];

st=; 

而只能對字元陣列的各元素逐個賦值。

3.   前面說過,當乙個指標變數在未取得確定位址前使用是危險的,容易引起錯誤。

但是對指標變數直接賦值是可以的。因為c系統對指標變數賦值時要給以確定的位址。 

因此, char *ps="c langage"; 

或者 char *ps; ps="c language"; 都是合法的。

字串 字串陣列 字元陣列的區別

string a newstring 字串 string a newstring 5 字串陣列 char a newchar 5 字元陣列 string a newstring abc 字串 string a newstring 字串陣列的賦值 string a 字串陣列的初始化 char a ne...

字串指標和字串陣列的區別

char p1 a string.和 char p2 another string.寫法的不同 p1指向的這個字串是個常量,不可改變 程式在編譯期間就為 a string.這個字串分配了固定的空間,它被儲存在全域性靜態區中.編譯器只是把指標p1的指向的位址賦為 a string.的首位址,並沒有為指...

字串陣列和字串指標的區別

在最早學c語言的時候,char 與char 是最讓我頭疼的幾個問題之一。字串陣列和字串指標是截然不同的兩個東西,如果不去在意它們之間的不同,而混合使用,可能會帶來很多麻煩。讓我們從這兩個東西建立的過程說起。當我們進行字串陣列的定義時 char str abc 其實我們做了兩件事 1.建立了乙個新的字...