第一章 關鍵字
1. 三重條件操作符
? :
2. sizeof操作符
1)用於計算物件占用記憶體大小
2)sizeof(int)*p表示什麼意思? 若p為可計算的型別(short、int、long)則表示int所佔記憶體大小乘以p,否則出錯。
★例項:
int p = 4;
p = sizeof(int)*p; // p = 16
3. static作用:限定函式或變數作用域
1)修飾變數:全域性變數(被定義的檔案內使用)、區域性變數(下次呼叫函式時,仍然使用上次變數的值)
4. int型別:因機器不同,int等於機器字長
5. 與零值比較
1)布林型別:if (flag); if(!flag);
2)float型別:if (val >= -epsion) && (val<= epsion); //epsion為精度值
3)指標變數:if (null == p); if(null != p);
6. 空語句的最佳寫法
null;
7. switch/case
1)每個case語句之後必須加上break,以及最後必須有default處理case以外的預設情況
2)case後面只能是整型或字元型的常亮或常量表示式
3)case情況排序:
①按字母排序
②先正常情況,後異常情況
③按執行頻率,先高頻,後低頻
4)case後的**最多別超過20行,多的話使用子程式或者函式
5)continue只能用在迴圈體中(for、while、do-while),不能用在switch
8. do、while、for
1)盡量把短迴圈放在外面,長迴圈放在裡面,以減少cpu跨切迴圈層次數
2)for迴圈採用半開半閉區間為佳
for(n = 0; n< 10; n++)
3)把迴圈巢狀控制在三層以內
9. goto
程式設計水平與使用goto次數成反比,建議禁用
10. void
真正作用:對函式返回的限定,對函式引數的限定
1)函式沒有返回值,宣告其引數為void
2)函式無參時,宣告其引數為void
3)void *為任意型別指標
4)void不能代表乙個真實的變數
11. return
不能返回指向「棧記憶體」的指標,該內存在函式體結束時被釋放。
12. const
1)const修飾的是唯讀變數
2)節省空間,避免不必要記憶體分配,同時提高效率
const:第一次分配記憶體,之後不用
define:替換一次分配一次記憶體
3)修飾一般變數、陣列、指標、函式的引數,函式的返回值
4)忽略型別名,const離誰近修飾誰
5)const修飾的唯讀變數不能用來定義陣列的維數,也不能放在case語句後
13. volatile //易變、不穩定
使編譯器對該變數的**不進行優化,從而可以提供對特殊位址的穩定訪問。
14. 空結構體為1byte
15. struct
結構體內不能賦初值(因為它是一種變數型別)。
柔性陣列:結構體中最後乙個元素是未知大小的陣列
函式體中陣列為柔性陣列,且結構體計算大小時,不計在內。
★例項:
typedef struct st_type
type_a; //此結構體大小恒為4byte,即使以後分配記憶體
16. union
大小為最大成員的位元組數,且多個成員公用記憶體。
17. enum
enum type_name //type_name為資料型別名
variable_name; //variable_name為變數,取值範圍在括號內
18. typedef //給變數取別名,發生在編譯階段,define是在預處理
變數名就是型別名,變數名等於新型別。
C 筆記 《C語言深度剖析》第一章 關鍵字
本文為個人讀書筆記,僅供記錄學習過程中遇到的日後需要留意的問題,如有相關版權問題請及時通知作者。register register變數必須是能被cpu暫存器所能接受的型別,必須是乙個單個的值,且其長度應小於或等於整型的長度。register變數可能不存放在記憶體中,所以不能用取址運算子 static...
第一章總結
動態網頁是指在伺服器端執行的程式或者網頁,它們會隨不同客戶,不同時間,返回不同的內容,隨著internet技術的興起,b s架構是對c s架構的一種變化或者改進的結構,在這種結構下,程式完全放在應用伺服器上,通過應用伺服器同資料庫服務進行通訊。url意思為統一資源定位符,也稱為網頁位址。是inter...
第一章總結
第一章的學習已經結束了。主要是學習了一些基礎的執行緒api操作,了解了執行緒的一些問題 執行緒api操作 currentthread getname setpriority interrupt isinterrupted interrupted suspend resume isalive slee...