C總結 第一章 關鍵字(1 6)

2021-06-28 20:43:33 字數 2001 閱讀 7451

第一章 關鍵字

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...