C語言小結(二)

2021-06-18 13:41:20 字數 800 閱讀 1795

野指標不是null指標,是指向不可用記憶體的指標。

c語言中沒有任何手段可以判斷乙個指標是否為野指標!

野指標的由來:

區域性指標變數沒有被初始化

使用已經釋放過後的指標

指標所指向的變數在指標之前被銷毀

用malloc申請了記憶體之後,應該立即檢查指標值是否為null,防止使用值為null的指標(沒分配成功)

free指標之後必須立即賦值為null

柔性陣列:

typedef struct _arry

arry;

arry *s = (arry *)malloc(sizeof(arry) +  sizeof(int )*10);

程式中存在一定的順序點

順序點指的是執行過程中修改變數值的最晚時刻

在程式達到順序點的時候,之前所做的一切操作必須反映到後續的訪問中

c語言中的順序點

1、每個完整表示式結束時

2、&&, ||, ?:, 以及逗號表示式的每個運算物件計算之後

3、 函式呼叫中對所有實際引數的求值完成之後(進入函式體之前)

c語言會預設沒有型別的函式引數為int

f(i, j)  

==   int f(int i, int j)

可變引數必須從頭到尾按照順序逐個訪問

引數列表中至少要存在乙個確定的命名引數

可變引數巨集無法判斷實際存在的引數的數量

可變引數巨集無法判斷引數的實際型別

可變引數必須順序的訪問

警告:va_arg中如果指定了錯誤的型別,那麼結果是不可**的。

C語言小結

1.include 中關於stidio.h的解釋 一般會把用來 include的檔案的副檔名 叫 h,稱其為標頭檔案 2.scanf的輸入形式 scanf 格式控制,位址表列 位址表列中給出各變數的位址,位址是由位址運算子 後跟變數名組成的 比如 a b分別表示變數a和變數b的位址 3.指標運算子有...

c語言筆試小結

1.void p malloc 100 sizeof p 4 指標的位元組數,而不是指標指向的內容容量 2.void func char str 100 陣列作為函式的引數進行傳遞時,該陣列自動退化為同型別的指標 3.char str 100 sizeof str 100 不是函式的引數時 4.ch...

C語言小結1

1 除法運算子 的運算物件可以是各種型別的資料,但是當進行兩個整型資料相除時,運算結果也是整型資料,即只取商的整數部分 如果運算元中有乙個為實型資料時,則結果為雙精度實型資料。如 5.0 10的運算結果為0.5 5 10的運算結果為0 10 4的運算結果為2 求餘數運算子 僅用於整型資料,不能用於實...