/***********************************《程式設計師面試寶典》第二版筆記*******************************************/
巨集定義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 語法的基本知識 如 不能以分號結束,括號的使用 要懂得預處理器將為你計算常數表示式的值,因此,寫出你是如何計算一年中有多少秒而不是計算出實際的值,會更有意義。最重要的是,意識到...