C和指標讀書筆記 第8章(陣列)

2021-07-02 01:01:21 字數 1197 閱讀 2807

1.陣列名的值是乙個指標常量,也就是陣列第1個元素的位址,它的型別取決於陣列元素的型別。記住是指標常量。

2陣列具有確定數量的元素,指標只是乙個標量值。只有當陣列名在表示式中使用時,編譯器才為它產生乙個指標常量。

在程式完成鏈結之後,記憶體中陣列的位置是固定的。

3.你不能使用賦值符把乙個陣列的所有元素複製到另外乙個陣列,必須使用乙個迴圈。

4.陣列下標不會比指標更有效率,但指標有事會比下標更有效率。

5.形參被宣告為乙個指向const字元的指標。具有良好的閱讀習慣,僅觀察函式的原型就能發現該資料不會修改,編譯器可以捕捉到試圖修改該資料的錯誤,這類宣告允許向函式傳遞const引數。

6.宣告陣列引數時最好使用指標。

7陣列元素的不完整初始化,後面被初始化為0.

8.int vector【】=;

可以自動計算陣列長度。

9用''表示字元。

10「hello」當用於初始化乙個字元陣列時,它就是乙個初始化列表,在其他地方,它都表示乙個字串常量。

11.宣告乙個指向整型陣列的指標

int  (*p)[10];

下標優先順序高於解引用,但是括號高於下標。所以先執行間接訪問,p還是乙個指標。但是指向什麼?所以p是指向某種型別的陣列。

對p執行間接訪問操作得到的是個陣列,對陣列進行下標引用操作得到的是乙個整型值。所以p是乙個執行整型陣列的指標。

12指標陣列

int   *api[10]

先執行小標引用,因此api是某種型別的陣列。然後執行間接訪問操作,對陣列的某個元素執行間接訪問之後,是乙個整形值。所以api肯定是乙個陣列。

元素型別是指向整形的指標。

13.char const *keyword_table

keyword_table是乙個陣列。型別是執行char的指標。

其中keyword_talbe是指向這個陣列的。

要想kwp=keyword_table

必須要這樣定義  char const ** kwp,對kwp解引用之後,是乙個只需向char型的指標。再次解引用之後是char型別。

12.多維陣列a[3][8]相當於a【】其中a有8個,等等。

13.陣列形參可以宣告為陣列,也可以宣告為指標。這兩種宣告形式只有當他們作為函式的形參時才是相等的。

14.int   a;

int   *p

其中陣列  的&a  和a  和&a[0]其實是乙個意思

《C和指標》讀書筆記 8

宣告 該讀書筆記摘抄自 c和指標 kenneth a.reek 著 徐波 譯 為了克服自己走馬觀花,提高閱讀和學習效率,決定將自己在讀書過程中遇到的一些知識點加以摘抄和總結備忘,在此感謝原書作者和翻譯。一 字串長度 1 標準庫函式 size t strlen char const string 標頭...

C和指標讀書筆記 第3章(資料)

1.長整型至少和整型一樣長,而整型至少和短整型一樣長 char 乙個位元組 int 四個位元組 signed表示有符號數 unsigned表示無符號數,如果顯示的把變數宣告為signed和unsigned,可以提供程式的可移植性。2.如果乙個多位元組字元常量的前面有乙個l,那麼它就是寬字元常量。3....

C和指標讀書筆記 第7章(函式)

1.把函式的型別與函式名分寫成兩行純屬風格問題。這種寫法可以使我們在使用視覺或者某些工具追蹤 時更容易查詢程式。2.ruturn 語法並沒有要求你加上括號。3.向編譯器提供函式資訊的方法是使用函式原型。原型總結了函式定義的起始部分的宣告,向編譯器提供有關該函式應該如何呼叫的完整資訊。在函式原型後面要...