預處理和結構體2

2021-08-09 21:57:30 字數 1005 閱讀 7322

q:結構體的作用及其優勢。

a:struct將相關聯的資料打包成乙個整體,方便使用,我們將多種資料組合起來的整體稱為結構體。結構體可以很好的將需要傳送的內容儲存在乙個整體中,同時結構體也可以壓縮函式引數個數。

q:結構體和陣列的比較。

a:同:都由多個元素組成;各元素在記憶體中的儲存空間是連續的;異:陣列中各元素德邦資料型別相同,結構體內可以不同。

q:結構體定義及使用。

a:一般形式:

struct 結構體名;例:

struct student ;

定義結構體型別的變數、指標變數和陣列。

方法一:定義結構體型別時,同時定義該型別的變數。

struct [tudent]

;stu1,*ps,stu[5];

方法二:先定義結構體型別,再定義該型別的變數。

struct student

;struct student stu1,*ps,stu[5];

方法三:用型別定義符typedef先給結構體型別命別名,再用別名定義變數。

typedef struct [tudent]

stu;

stu stu1,*ps,stu[5];

為結構體變數賦初值:

struct [tudent]

;stu[2]=,};

q:#define和

typedef

的區別。

a:typedef是為了增加可讀性二為識別符號另起的新名稱,而

#define在c

中只是為了定義常量。

在定義關鍵字,亢長的型別的別名時用typedef。巨集定義是簡單的字串代換,而

typedef

定義的新名稱具有一定的封裝性。

q:結合體和聯合體的區別。

a:struct和

union

都是由多個不同的資料型別成員組成的,

union

中只能存放乙個被選中的成員,

struct

中的所有成員都在。

預處理,結構體

q 巨集定義的定義和型別。a 巨集定義是由源程式中的巨集定義命令完成的,巨集代換是由預處理程式自動完成的,在 c語言中,巨集定義分為有參和無參兩種。無參巨集巨集名後不帶引數,其定義的一般形式為 define 識別符號 字串 帶參巨集的引數為形參,其一般形式為 define 巨集名 形參表 字串。q ...

linux c學習 預處理和結構體

c語言提供多種預處理功能,主要處理 開始的預編譯指令,如巨集定義 define 檔案包含 include 條件編譯 ifdef 等 以 開頭的都是預處理命令 條件編譯是c語言中預處理部分的內容,它是編譯器編 時最先處理的部分,條件編譯裡面有判斷語句,如 if,else,endif。它的意思是如果巨集...

預處理與結構體

巨集定義 檔案包含 條件編譯1 巨集定義不是說明或語句,不需要在結尾加上分號 2 巨集定義必須寫在函式之外,其作用域是巨集定義命令起到源程式結束,如需要終止可使用 undef命令 3 預處理程式不對巨集定義做任何檢查,如有錯誤,只能在編譯被巨集定義展開後的源程式時發現1 巨集會在編譯器在對源 進行編...