使用字串指標變數與字元陣列的區別

2022-09-01 17:54:12 字數 604 閱讀 9080

用字元陣列和字元指標變數都可以實現字串的儲存和運算,但是兩者是有區別的。在使用時,應注意以下幾個問題:

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

2)   賦值方式。對字元陣列只能對各個元素賦值,不能用以下方式對字元陣列賦值。

對字元指標變數,可以採用下面方法賦值。

3)   字元陣列由若干個元素組成,每個元素中放乙個字元,而字元指標變數中存放的是位址,並不是將字串放到字元指標變數中。

4)   如果定義了乙個字元陣列,在編譯時為它分配記憶體單元,它有確定的位址。而定義乙個字元指標變數時,給指標變數分配記憶體單元,在其中可以放乙個位址值。即該指標變數可以指向乙個字元型資料,但如果未對它賦乙個位址值,則她並未具體指向乙個確定的字元資料,所以不提倡這種方法。

5)   指標變數的值是可以改變的,陣列名雖然代表位址,但它的值是不能改變的。可以使用下標形式引用所指定的字串中的字元。

6)   用指標變數指向乙個格式字串,可以用它代替printf函式中的格式字串。也可以用字元陣列實現,但不能採用賦值語句對陣列整體賦值。例如:

字串指標變數與字元陣列的區別

使用字串指標變數與字元陣列的區別 1 分配記憶體 設有定義字元型指標變數與字元陣列的語句如下 char pc str 100 則系統將為字元陣列str分配100個位元組的記憶體單元,用於存放100個字元。而系統只為指標變數pc分配4個儲存單元,用於存放乙個記憶體單元的位址。2 初始化賦值含義 字元陣...

C 字元 字串 字元陣列 字串指標 指標陣列

一 c 字元 字串 字元陣列 字串指標 指標陣列 前言 一 字元指標 字元陣列 二 字串指標 三 字串 指標陣列 四 常用方法 參考為了深入理解c 並時常回顧學過的知識點,對c 知識點進行記錄總結。參考1字元指標的儲存方式 字元指標變數本身是乙個變數,用於存放字元 字串的首位址。字串本身是存放在以該...

對使用字元指標變數和字元陣列的討論

區別 1 字元陣列由若干個元素組成,每個元素中放乙個字元,而字元指標變數中存放的是位址 字串第乙個字元的位址 2 賦值方式。對字元陣列只能對各個元素賦值,不能用以下方法對字元陣列賦值 char str 20 str i love china 而對字元指標變數,可以用如下方法賦值 char a a i...