c語言之字元指標變數和字元陣列的異同

2022-06-11 17:42:11 字數 591 閱讀 7978

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

2.賦值方式。對字元陣列只能對各個元素進行賦值,不能用以下辦法對字元陣列進行賦值。

而對於字元指標變數,可以採用以下方式賦值:

但需要注意的是賦值給a的不是字元,而是字串中第乙個元素的位址。

3.如果定義了乙個字元陣列,在編譯時為它分配記憶體單元,它有確切的位址。而定義乙個字元指標變數時,給指標變數分配記憶體單元,在其中也可以放乙個字元變數的位址,也就是說,該指標變數可以指向乙個字元型資料,但如果未對它賦予乙個位址值,則它並未指向乙個確定的字元資料。

4.字元指標實際上是個常量指標,即char* a實際上是const char* a。而常量指標指向的值是不可以更改的,但是它的指向是可以改的,比如說:

#include#include

intmain()

5.需要注意的是,若定義了乙個字元指標變數,並使其指向了乙個字串,也可以用下標的形式引用指標變數所指的字串中的字元,例如:

#include#include

intmain()

C語言之陣列和指標

如下便定義了乙個一維陣列 int arry 10 該陣列的維度為1,大小為10,包含了10個元素,從arry 0 arry 9 共10個資料元素,每個資料元素都是int型別,類似的可以定義其他資料型別的陣列,訪問陣列時,可以通過值在0 9的下標i訪問陣列中的第i 1個資料元素。一維陣列在初始化時,用...

C語言之陣列和字串

陣列的使用 對一維陣列的輸入 int a 5 i 陣列必須先定義後使用,且在定義時,必須指定陣列的長度。比如這裡不能這樣 int a.for i 0 i 5 i scanf d a i 這裡i 5是給他限定輸入資料個數的範圍,也就是當輸入這麼多資料後,系統不再接收資料 由於陣列元素儲存型別為int,...

C語言之字元

對於scanf 3c ch 輸入abc而字元ch只能被賦值為a 猜想 因為ch只被開闢乙個空間,被scanf填滿後,直接結束scanf函式。對於char ch abc ch被賦值為c 猜想 應為ch可以 char ch 65 編譯不會被查錯 putchar ch 結果為ch a而對於 char ch...