《C和指標》 C語言補漏 指標篇

2021-06-22 01:28:48 字數 849 閱讀 9572

沒錯,對於指標,我確實只能摘取書上的少許內容,因為我在資料結構的時候已經弄明白了很多,所以這一部分並沒有仔細的看,還有後面的用 c語言實現抽象資料型別,資料結構裡也有講,所以我建議還是先看《c和指標》再去學資料結構。

1.在宣告指標變數時,可以為它指定初始值,如:

char *message = "hello world!";
2.指向整型常量的指標,可以修改指標的的值,但不能修改它所指向的值:int const * p;指向整型的常量指標,指標本身無法被修改,但是可以修改它說指向的整型的值:int * const p;

3.指標變數可以作為左值,如*d = &a;並不是因為他們是指標,而是因為他們試試變數,左值必須要能找到確切的位置

4.指標其實也可以相減,前提是他們都指向同乙個陣列中的元素,而且減法的結果是經過了調整的,會除以元素型別的長度。

5.陣列(指標)也可以用負來訪問,如a[-1],但是這和其它語言的負索引並不一樣,它是指a這個指標前面的乙個元素。陣列甚至可以用諸如2[array]訪問,因為他們都會被翻譯為#( 2 + (array) )

6.之所以我們在函式宣告中包含二維陣列的時候必須把第二維的數目宣告,是因為我們傳遞進去的是乙個指標陣列

7.在建立指向函式的指標的時候可以建立乙個轉換表,就是乙個函式指標陣列

8.在陣列不夠用的時候要學會使用動態記憶體分配,一般初始用malloc,之後如果發現不夠用,就用realloc

9.字串常量也是乙個指標,如」123」+1表示的並不是123,而是123這個字串的指標加1即元素2的指標,也可以這樣煩我呢」123」[1],他就是元素2

C語言補漏 指標

通過變數名訪問變數,稱為直接訪問 通過指標方式訪問,稱為間接訪問 變數名是為了方便程式設計師使用而定義的,記憶體存放資料的真相 指標就是位址的意思 指標變數是用來的存放位址的變數。普通的變數中存放的是資料,指標變數中存放的是位址 假設定義兩個指標變數pa和pf,指標變數在記憶體中,佔4個位元組。型別...

C語言補漏 void指標和NULL指標

在定義變數時,變數的型別決定占用的記憶體大小 直接定義無型別的變數,編譯器是不能他通過的。如下。void a 編譯器報錯 void指標我們稱之為通用指標,也就是可以指向任意型別的資料。也就是說,任何型別的指標都可以賦值給void指標。測試一下 include int main 執行結果 pv 000...

C語言補漏 指標和二維陣列

二維陣列的其實就是在一維陣列上進行擴充套件的。假設我們已經定義了乙個二維陣列array如下 array是二維二維陣列的首位址。由於是二維陣列,也就是指向包含五個元素的陣列的指標。跨度是五個元素。下面的例子 include int main printf size of int d n sizeof ...