第一章:關鍵字
1.1、register
@@register 變數可能不存放與記憶體中,因此,不能使用「&」來對訪問變數的位址。1.2、static
@@靜態全域性變數:作用域僅限於所定義的檔案中,其他檔案使用extern關鍵字也無法訪問;
@@靜態區域性變數:函式體內定義的static變數,儲存於靜態儲存區,只能在此函式體中進行使用,其他函式不能訪問(函式宣告static變數後,該函式將不可重入。)
@@靜態函式:此函式外部檔案不能進行訪問,可起到保護作用。1.3、基本資料型別:
@@long 和int的區別:
《c和指標》中寫過:long與int:標準只規定long不小於int的長度,int不小於short的長度。(我記的好像是這樣)
16位系統:long是4位元組,int是2位元組
32位系統:long是4位元組,int是4位元組
64位系統:long是8位元組,int是4位元組
@@區域性變數中採用通用的命名方式,僅限於n、j、i等作為迴圈變數使用;
@@定義變數的同時一定要進行初始化;1.4 sizeof
@@sizeof 並非是乙個函式,是乙個關鍵字
int k;
sizeof(int) //括號必須
sizeof k;//括號非必須1.5 if else
@@ bool 變數判斷
使用if(btag),if(!btag)進行bool變數判斷
@@float變數判斷
float變數是帶有精度的小數,因此要引入精度進行條件判斷
if(fnum>=epsinon)...
@@指標非空判斷
if(null==p)
@@attention:
if條件判斷,先進行正常情況判斷,再進行異常情況判斷(正常情況發生的概率更大,避免無謂的低效判斷)。1.6 switch
@@case後的值的要求???
@@attention:、
case語句盡量簡短,如果條件執行的太長,要單獨寫乙個函式進行功能模組化。
@@continue ,break
continue終止「本輪」迴圈,break終止「本層」迴圈
eg.
for(int i=0;i
for(int j=0;j
continue; .//when j=8,so teminate, and transfer to j=9
break;// when i=1,j=8,so terminate ,and transfer to i=2;j=0;1.7 do,while ,for
@@不能在迴圈中修改迴圈變數i,防止失控1.8 void
@@凡是不加返回型別的函式,預設為int型
add(int a,int b)//return int
@@void 指標不能進行算術運算,也不能進行自加減@@return 不能返回堆疊內的臨時區域性變數1.10 constfunction(void *pointer)
@@const 關鍵字可理解為readonly變數,不是常量,其值在編譯時不能使用,其在編譯時編譯器不知道其儲存的內容。
//其他變數在編譯時會讀取儲存的內容麼?
在.c檔案中:const int max=100;int array[max];//報錯,說明max仍為乙個變數@@const變數在編譯期間不進行記憶體分配,只儲存在符號列表中,因此,沒有了記憶體讀寫的操作,可提高編譯效率
const只進行一次記憶體分配,儲存在靜態儲存區,而define在預編譯階段進行替換,有若干個記憶體中的拷貝。
1.11 volatile
@@volatile應用於避免編譯器的預設優化而造成的資料實時性變更丟失。即保證每次都重新讀取volatile變數的值,實時進行更新。@@questions:1.12 structconst volatile int i=0; //i 是什麼型別
@@空結構體大小為1位元組@@柔性陣列(c99支援)
typedef struct st
st1;
//st1 為柔性陣列,sizeof(st1)=4,
//使用柔性陣列時必須保證可變陣列前定義
//乙個其他成員,當使用變長陣列時,要臨
//時通過malloc函式為陣列分配記憶體,分
//配記憶體後,sizeof(st1)=4,保持不變。
《c語言深度剖析》讀書筆記(二)符號
本文是自己讀書的時候一些關於該書的重點及感悟 目錄 1 注釋符號 2 接續符和轉義符 3 單引號和雙引號 4 邏輯運算子 5 位運算子 6 花括號 7 操作符 8 c語言除法 9 符號優先順序 1 c 語言裡可以有兩種注釋方式 和 編譯器在編譯程式時的確會將注釋剔除,但不是簡單的剔除,而是用空格代替...
《c語言深度剖析》讀書筆記(六)函式
本文是自己讀書的時候一些關於該書的重點及感悟 目錄 1 函式的好處 2 編碼風格 3 函式設計的一般原則和技巧 4 遞迴 1 降低複雜性 2 避免 重複 3 限制改動帶來的影響 4 隱含順序 5 改進效能 6 進行集中控制 7 隱含資料結構 8 隱含指標操作 9 隱藏全域性變數 1 每乙個函式都必須...
C語言讀書筆記
1.c語言中一共有32個關鍵字 分別是 auto int double long char short float unsigned signed sizeof extern static goto if else struct typedef union enum switch case brea...