stddef h標頭檔案學習

2021-09-20 01:23:03 字數 1037 閱讀 5173

stddef.h標頭檔案看意思就是標準定義,定義有一些變數和巨集。其中定義了null和offsetof()巨集,null指向0或者是無效指標,offsetof獲取乙個元素在結構中的偏移量。下面看看具體的**注釋和筆記。

#ifndef _linux_stddef_h

#define _linux_stddef_h

#include

/* * #undef 預定義取消指令

* * 如果null沒有被預定義,則會忽略#undef指令

* 一旦null被預定義了,則就會取消null的預定義

*/#undef null

#if defined(__cplusplus)

#define null 0 //null被賦值為0

#else

#define null ((void *)0) //null定義為無效的指標,將0強制轉化為(void*)型別的指標

#endif

//如果offsetof被定義了,就會取消該定義

#undef offsetof

#ifdef __compiler_offsetof

#define offsetof(type,member) __compiler_offsetof(type,member)

#else

/* * 先指出目的:就是求出member在type中的偏移量

* * 原理:(type *)0 將0強制轉化成(type*)型別的指標,記做type *ptr = (type *)0;

* ptr->member就是type中的元素member,然後&(ptr->member),取得member的位址

* 由於其基位址是0,最後在進行強制型別轉化成int型別,就獲取了member在type中

* 的偏移量了。

*/#define offsetof(type, member) ((size_t) &((type *)0)->member)

#endif

#endif

UIWindow標頭檔案學習

1.uiwindow 繼承自uiview uiwindow初始化時用到比較多的 uiscreen mainscreen bounds 2.uiwindowlevel 浮點型,預設是0.0 uiwindowlevelnormal uiwindowlevel uiwindowlevelnormal 0....

學習筆記 C 標頭檔案

c c程式的標頭檔案以.h為字尾。使用時需要在.cpp檔案中意 include的方式引入。標頭檔案作為一種包含功能函式 資料介面宣告的載體檔案,主要用於儲存程式的宣告,而定義檔案用於儲存程式的實現。函式原型 使用 define或const定義的符號常量 結構宣告 將結構宣告放在標頭檔案中是可以的,因...

c 標頭檔案 再學習

標頭檔案用於宣告而不是用於定義 當設計標頭檔案時,記住定義和宣告的區別很重要的。定義只可以出現一次,而宣告則可以出現多次。下列語句是一些定義,所以不應該放在標頭檔案裡 1 extern int ival 10 initializer,so it s a definition 2double fica...