預處理 const 與 sizeof

2021-06-06 13:33:51 字數 1159 閱讀 7108

/***********************************《程式設計師面試寶典》第二版筆記*******************************************/

巨集定義1. 用乙個巨集定義find求乙個結構體struct裡任意變數相對struct的偏移量

struct student

;則find(student, a);//等於0

find(student, b);//等於4

答:#define find(struc, e)(size_t)&(((struct*)0)->e)

2. 用預處理指令#define 宣告乙個常數,用以表明1年中有多少秒?

答:#define seconds_per_year (60*60*24*365)ul

3. 寫乙個「標準」巨集min這個巨集輸入兩個引數並返回較小的乙個

答:#define min(a, b) ((a) < (b) ? (a) : (b) )

const

4. what does the keyword "const" means in c program? please at least make

two examples about the usage of const

答:1)定義常量

2)修飾函式引數

3)修飾函式返回值

5. const與#define 相比有什麼不同?

答:const常量有資料型別,巨集常量沒有資料型別

sizeof

6. what is the output of the following code?

#include #include struct a;//2位元組對齊結果為6

struct b;//4位元組對齊結果為8

int main()

7. 求下面程式的結果

#include class a1

; //4因為static是靜態變數存放在全域性資料區的,而sizeof計算棧中分配的大小,是不會計算在內的

class a2

;//8

class a3

;//8

class a4

;//12

class a5

;//24

int main()

{ cout << sizeof(a1)<

預處理 const與sizeof

本文 第六章 預處理 const與sizeof 1.預處理當中的巨集定義 注意 有時候巨集展開以後會出現二意性問題。所以要注意使用括號。2.sizeof的總結 sizeof是運算子,它的作用是返回乙個型別或變數的長度,長度的單位是位元組。1 基本資料型別sizeof的結果 平台 windows xp...

預處理 const與sizeof

程式設計師面試寶典 1 預處理指令 define宣告乙個常數,用以表明1年中有多少秒 define second per year 60 60 24 365ul define 語法的基本知識 不能以分號結束 預處理將會計算常數表示式的值,寫出如何計算一年中有多少秒而不是計算出實際的值更有意義 有可能...

預處理與const

1.1 巨集定義 例題1 用預處理指令 define 宣告乙個常數,用以表明1年中有多少秒 忽略閏年問題 解析 defne 語法的基本知識 如 不能以分號結束,括號的使用 要懂得預處理器將為你計算常數表示式的值,因此,寫出你是如何計算一年中有多少秒而不是計算出實際的值,會更有意義。最重要的是,意識到...