當前位置:才華齋>計算機>C語言>

c語言使用字串指標變數與的區別

C語言 閱讀(3.28W)

導語:用字元陣列和字元指標變數都可實現字串的儲存和運算。 但是兩者是有區別的。讓我們瞭解一下吧!

c語言使用字串指標變數與的區別

1. 字串指標變數本身是一個變數,用於存放字串的首地址。而字串本身是存放在以該首地址為首的一塊連續的記憶體空間中並以‘/0’作為串的結束。字元陣列是由於若干個陣列元素組成的,它可用來存放整個字串。

2. 對字元陣列作初始化賦值,必須採用外部型別或靜態型別,如: static char st[]={“C Language”};而對字串指標變數則無此限制,如: char *ps="C Language";

3. 對字串指標方式 char *ps="C Language";可以寫為: char *ps; ps="C Language";而對陣列方式:

static char st[]={"C Language"};

不能寫為:

char st[20];st={"C Language"};

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

從以上幾點可以看出字串指標變數與字元陣列在使用時的區別,同時也可看出使用指標變數更加方便。前面說過,當一個指標變數在未取得確定地址前使用是危險的',容易引起錯誤。但是對指標變數直接賦值是可以的。因為C系統對指標變數賦值時要給以確定的地址。因此,

char *ps="C Langage";

或者 char *ps;

ps="C Language";都是合法的。