一維陣列
1.陣列名是指標常量,也就是陣列第乙個元素的位址
2.程式完成鏈結後,記憶體中陣列的位置是固定的
3.只有在兩種情況下,陣列名並不用指標常量來表示,就是當陣列名作為sizeof操作符或單目操作符&的運算元時,取乙個陣列名的位址所產生的是乙個指向陣列的指標,而不是乙個指向某個指標常量值的指標
4.2[arr] 等價於 arr[2]
5.當你根據某個固定數目的增量在乙個陣列中移動時,使用指標變數將比使用下標產生效率更高的**
6.宣告乙個陣列時,編譯器將根據宣告所指定的元素數量為陣列保留記憶體空間,然後再建立陣列名,他的值是乙個常量
7.陣列名做實參時,傳遞的是乙份指標值拷貝
8.int strlen(char *string);int strlen(chat string);形參是陣列名的值拷貝所以sizeof都是指標的大小
讀書筆記之c和指標(9)
預處理器 1.編譯的第乙個階段是預處理,預處理器進行文字性質的操作 2.如果巨集定義的stuff非常長,可以把它分成幾行,除了最後一行之外,每行的末尾都要加乙個反斜槓 3.巨集替換也可以用於呼叫函式 4.define機制規定,允許把引數替換到文字中,這種實現通常稱為巨集 define name pa...
讀書筆記之c和指標(10)
輸入輸出 1.fflush迫使緩衝區的資料立即寫入,不管他是否已滿 2.隨時檢查fopen的返回值,開啟不成功時返回null 3.對於輸出流,fclose函式在檔案關閉前重新整理緩衝區 4.eof被定義為乙個整型,他的值在任何可能出現的字元之外,這種解決方法允許我門使用這些函式來讀取二進位制檔案 5...
讀書筆記之c和指標(11)
標準函式庫 1.訊號就是一種事件,它可能非同步發生,也就是不與程式執行過程的任何時間同步,如果程式並未安排怎樣處理乙個特定的訊號,那麼訊號出現時程式就做出乙個預設的反應,絕大多數編譯器選擇終止程式 2.如果你希望捕捉同種型別的訊號,從當前這個訊號的處理函式返回之前注意呼叫signal函式重新設定訊號...