91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

container_of宏與offsetof宏的關系

小樊
85
2024-06-29 14:12:38
欄目: 編程語言

container_of宏和offsetof宏是在C語言中用來處理結構體的宏。

offsetof宏用于獲取結構體中特定成員變量的偏移量,其定義如下:

#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)

而container_of宏則利用offsetof宏來實現從成員變量指針反推出包含該成員變量的結構體指針,其定義如下:

#define container_of(ptr, type, member) ({ \
	const typeof( ((type *)0)->member ) *__mptr = (ptr); \
	(type *)( (char *)__mptr - offsetof(type, member) );})

可以看到,container_of宏中使用了offsetof宏來獲取成員變量的偏移量,然后通過計算得到結構體指針的地址。因此,這兩個宏是相輔相成的,可以一起用來處理結構體中的成員變量。

0
英德市| 德化县| 泌阳县| 大宁县| 灵丘县| 和平区| 梅河口市| 新巴尔虎左旗| 永康市| 四子王旗| 丹寨县| 理塘县| 炎陵县| 静安区| 武威市| 阜宁县| 南涧| 高安市| 榆中县| 太原市| 新干县| 博客| 明光市| 色达县| 渭南市| 阿城市| 仙游县| 浏阳市| 凤凰县| 衡阳县| 汕尾市| 德兴市| 平阴县| 山西省| 伊宁市| 大荔县| 乐昌市| 清流县| 新乐市| 重庆市| 漳州市|