二維陣列與二級指標,二維陣列可以表示為知道二級指標中一維的長度。int (*a) 與 int** a; 注意,返回值為乙個二級指標的函式不能賦值給二維陣列。int a = int**fun()x; int a = int (*fun())v;fun是函式名;
指標的值永遠是位址。*p永遠是該位址上的內容,但是有時候卻有點誤解。
char* p = 「asddfghjjl」;
printf(「%s」,*p);這個執行時是錯誤的。
printf(「%s」,p);這個可以列印出字串。為什麼?
本來*p的確是位址上內容,這裡會誤導人們。準確的說,p指向的這串位址的首位址,不是指向這個位址,也就是說*p其實是這個字串的首位址的字元,的確是字元啊,為什麼報錯?關鍵在於%s上,他是輸出p指向的全部字串,*p只是乙個字元,這樣就出現錯誤了。printf(「%c」,*p);這樣就不會出錯。%s和*p組合起來就出錯了,也容易誤導。
要記住:char* p = 「asddfghjjl」;p是指向字串或者陣列的首位址,首位址,首位址。解引用只會是首位址的內容。不是全部的內容。(卡了我好久,還提示*p是個int。acii乙個字元的確是個數字)。
C 字元 字串 字元陣列 字串指標 指標陣列
一 c 字元 字串 字元陣列 字串指標 指標陣列 前言 一 字元指標 字元陣列 二 字串指標 三 字串 指標陣列 四 常用方法 參考為了深入理解c 並時常回顧學過的知識點,對c 知識點進行記錄總結。參考1字元指標的儲存方式 字元指標變數本身是乙個變數,用於存放字元 字串的首位址。字串本身是存放在以該...
字串,字串陣列,字串指標!!
字串 字元陣列實際上是一系列字元的集合,也就是 字串 string 字串陣列 在c語言中,沒有專門的字串變數,沒有string型別,通常就用乙個字元陣列來存放乙個字串。c語言規定,可以將字串直接賦值給字元陣列 在c語言中,字串總是以 0 作為串的結束符。上面的兩個字串,編譯器已經在末尾自動新增了 0...
字串 陣列 指標
所謂陣列,就是 相同資料型別 的元素按一定順序排列的集合 字串 c 語言中的字串其實就是 以空字元 0 結尾的 char陣列。指標 指標也是一種 資料型別 指標變數是用來 存放位址值的。1 指標的數值就是它所指向的物件的位址。2 在指標前運用運算子 就可以得到指標所指向的物件的數值。3 對指標加1 ...