C語言學習要點記錄

2021-09-29 12:54:59 字數 1161 閱讀 2532

1.運算的優先順序: 算數 > 關係 > 邏輯 > 賦值 > 逗號運算子;

2.**複製是程式不良的表現(因為一旦乙個地方有變動要在很多地方修改);

3.程式設計的過程中最好使用單一出口;

4.本地變數在定義的時候不會預設初始化,引數在定義的時候一定要初始化;

5. 本地變數的生存期和作用域在定義的塊內;

6. 程式這次執行正常下次執行錯誤;

在你的電腦上執行正常,在別人電腦上執行錯誤,可能的原因是陣列越界/指標錯誤;

7.對於陣列a,用size of(a)/size of (a[0]),可以得到陣列的大小;

8.判斷迴圈的效率是看迴圈執行的次數,執行的次數越小,迴圈的效率越高;

9.堆疊中變數的記憶體分配是自頂向下分配的,即先定義的先分配,在一起定義的變數的記憶體位址是緊挨著的;

10.const 在 「" 的前面表示通過指標不可修改;

conse在 "」 的後面表示指標不可修改;

11.兩個位址相減的結果 = 兩位址之差 /size of (型別);

12.動態申請記憶體空間malloc()和free();

13.strchr函式用來在在乙個字串中尋找乙個字元;

strstr函式用來尋找乙個字串;

14.結構體可以整體賦值,例如 p1=p2;

15.乙個資料在記憶體中存放時是低位在前,這種存放方式是小端;

16.沒有做初始化的全域性變數預設為0,全域性指標會得到null;

全域性變數的初始化必須是乙個常量;

17.靜態本地變數在函式離開時還存在,並保持上次離開時的值;

靜態本地變數是特殊的全域性變數,他們在記憶體存放在乙個地方;

靜態本地變數具有全域性的生存期;

18.編譯預處理指令不是c語言的一部分;

19.#include是把頭檔案的內容原封波動的插入include所在的那一行;

20.宣告是不產生**的東西,定義是產生**的東西;

21.標準標頭檔案結構,可以保證標頭檔案在乙個編譯單元只會被#include一次;

#ifndef

#define

22.左移乘2,右移除2;

負數右移後還是負數;

C語言學習記錄(序)

適用於超級新手小白,自學者,勿噴,謝。為什麼?據我所了解,c語言很適合打基礎,能幫助大多數想要學習其他語言的程式設計師快速入門,並且它適用於大多數平台,相容性很強。所以,經過很長一段時間的考慮和探索,我放棄了原本想要學習的python 網上說比較簡單,且能快速入門 準備學習c語言,這有利於打下基礎。...

C語言學習記錄4

c語言入門 關於形參和實參的說明 1 在定義函式中指定的形參,在未出現函式呼叫時,他們並不占用記憶體中的儲存單元,只有發生呼叫時,才會分配記憶體。2 實參可以是常量 變數或者表示式 有時傳遞的時位址 3 在被定義中,形參必須指定型別 4 實參與形參的型別應相同或賦值相容 5 c語言規定,實參變數對形...

C語言學習記錄(2)

以上一次學習記錄 中的hello world!為例 include 標頭檔案也叫編譯預處理指令 intmain void 定義主函式 函式結束首先,在每行後的說明文字是注釋內容,後的文字不參與程式的執行,並且,是單行注釋,也就是說其後面的內容是不參與執行的,可以佔據一整行,但是不能跨行。類似作用的符...