C語言小白 記錄自己對一些概念的理解 若有錯誤 多包涵 若能指正 萬分感激

409發表於2024-10-19

指向第一個元素或整個陣列 用p1=test; 直接陣列名 不用加*
而指向第二個或以後的元素則要加* 例如p2=&test[1]

在C語言中,兩個指向同一個陣列中相鄰元素的指標,計算他們的差值,得到的是它們之間元素的個數,是一個整數 比如p1-p0等於1 表明 第一個到第二個 相差一

而不是位元組數。若想求位元組數 就用他們相減(即元素個數)乘上每個元素佔用的位元組 (用sizeof來求每個的位元組) 比如(p1-p0)*sizeof(test[0]) tets為陣列名

當有一個指標已經初始化後 可以對其他的指標進行賦值 或加減後在賦值
加減表明在陣列中元素位置加減 並以加減後的為指標指向的第一個元素

在C語言中,字串是使用雙引號表示的

在C語言中,字元通常使用單引號表示

" 反斜槓加雙引號是跳脫字元 用於在字串中輸出雙引號 如果不這樣做 編譯器會把一開始的雙引號和這裡的作為起點和終點直接輸出
就像這樣使用“He said, "Hello, World!" when he entered the room”
輸出時則顯示 He said, "Hello, World!" when he entered the room.

字串以陣列的形式存在 編譯器會自動把字串弄成陣列 比如char*p=“hello world‘;
定義一個char型指標 然後將字串以陣列的形式給指標

字串常量用指標定義和用陣列定義有區別
用指標定義的話 指標所指的字串僅可讀 不可修改 而用陣列定義的話可以修改

在引數中用陣列的話 字串作為引數還是能修改的

相關文章