問題:
1.#define?
2.#define m (y * y + 3 * y)?
3.巨集定義在」」中?
4.巨集定義允許巢狀?
5.#include<>和
#include」」?
6.條件編譯?
7.結構體?
8.結構體賦初值?
9.引用結構體變數中的成員?
10.記憶體位元組對齊?
解答:1. #define 識別符號 字串;
#號開頭的都是預處理命令;
define
為巨集定義命令;「識別符號」為定義的巨集名;「字串
可以是常量、表示式、格式串。
2.在此巨集定義中
m替換的是
(y * y + 3 * y)
而不是y * y + 3 * y。
3.#define ok 100
int main()
printf(「ok」);
printf(「\n」);
巨集名在源程式中若用引號括起來,則預處理程式不對其進行巨集定義代換。
4. #define pi 3.1415926
#define s pi * y * y
已經定義的巨集定義允許巢狀,巨集展開是由預處理程式層層代換。
5. <>:表示在包含檔案目錄中去查詢(包含目錄是由使用者在設定環境是設定的),而不在源 檔案目錄中查詢。
「」:表示首先在當前源檔案目錄中查詢,若未找到才到原始檔中查詢。
6. #ifdef 識別符號(
#ifndef
識別符號)(
#if
常量表示式)
程式段 1
#else
程式段 2
#endif
7. struct j結構體名
型別名1 成員名1;
型別名2 成員名2;
型別名n 成員名n;
strcut student
char name[10];
char ***;問題:
1.#define?
2.#define m (y * y + 3 * y)?
3.巨集定義在」」中?
4.巨集定義允許巢狀?
5.#include<>和
#include」」?
6.條件編譯?
7.結構體?
8.結構體賦初值?
9.引用結構體變數中的成員?
10.記憶體位元組對齊?
解答:1. #define 識別符號 字串;
#號開頭的都是預處理命令;
define
為巨集定義命令;「識別符號」為定義的巨集名;「字串
可以是常量、表示式、格式串。
2.在此巨集定義中
m替換的是
(y * y + 3 * y)
而不是y * y + 3 * y。
3.#define ok 100
int main()
printf(「ok」);
printf(「\n」);
巨集名在源程式中若用引號括起來,則預處理程式不對其進行巨集定義代換。
4. #define pi 3.1415926
#define s pi * y * y
已經定義的巨集定義允許巢狀,巨集展開是由預處理程式層層代換。
5. <>:表示在包含檔案目錄中去查詢(包含目錄是由使用者在設定環境是設定的),而不在源 檔案目錄中查詢。
「」:表示首先在當前源檔案目錄中查詢,若未找到才到原始檔中查詢。
6. #ifdef 識別符號(
#ifndef
識別符號)(
#if
常量表示式)
程式段 1
#else
程式段 2
#endif
7. struct j結構體名
型別名1 成員名1;
型別名2 成員名2;
型別名n 成員名n;
strcut student
char name[10];
char ***;
int age;
float score;
}stu1, *ps, stu[5]; /*定義結構體型別的普通變數、指標變數和陣列*/
typrdef strcut [student]
char name[10];
char ***;
int age;
float score;
}stu;
stu stu1, *ps, stu[5];
4. strcut
char name[10];
char ***;
int age;
float score;
}stu[2] = ,};
5. 結構體變數名 「stu1.name」
結構體指標變數->成員名 「ps->name」
(*結構體指標變數
).成員名 「
(*ps).name」
結構體變數陣列名.成員名 「
stu[0].name」
6. typtdef strcut t
char c; //本身長度
1位元組
= 8
_int64; //本身長度
8位元組
= 8
int e; //本身長度
4位元組
= 4
short f; //本身長度
2位元組
= 2
char g; //本身長度
1位元組
= 2
short h; //本身長度
2位元組
= 8
在結構體中定義巨集定義意義
第一次看見在結構體中有巨集定義,開始有點迷糊,想到該結構是如何儲存的?巨集定義會是不會多次編譯?以下是我看的乙個列子 typedef struct define xcp authorized bit 0x01 uint16 t xcpauthorizedbit 1 define block resp...
定義在結構體裡面的巨集
測試 如下 include struct test void func define st define 20 int main int argc,char ar 輸出 1 10 20總結 1 巨集定義在結構體裡面,只是方便 的閱讀,一般這種情況,大部分是結構體裡面有標誌量,方便閱讀。2 在結構體裡...
定義在結構體裡面的巨集
1 巨集定義在結構體裡面,只是方便 的閱讀,一般這種情況,大部分是結構體裡面有標誌量,方便閱讀。2 在結構體裡面定義乙個巨集,在結構體外面也可以定義同樣的巨集,如果兩個巨集的內容不一樣,那麼在使用的地方,哪個巨集近就使用哪個。編譯會有警告 巨集就是替換,從上面開始,一直往後面替換。如果巨集新定義了,...