CONTAINING_RECORD宏

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//根据结构中某成员的地址得到整个结构的地址
struct  msginfo
{
     INT   a;
     char  b[20] = { "abc" };
};
void  CtestThreadDlg::OnBnClickedButton18()
{
     msginfo info = {};
     info.a = 12;
 
     msginfo * p = CONTAINING_RECORD(info.b, msginfo, b);
 
     int  d = p->a;
}

VS2015编译运行


















本文转自Chinayu201451CTO博客,原文链接: http://blog.51cto.com/9233403/2049736,如需转载请自行联系原作者




相关文章
|
7月前
|
C++
使用 pragma message 查找多变的 DEBUG 宏
使用 pragma message 查找多变的 DEBUG 宏
|
2月前
|
Linux
offsetof宏与container_of宏
offsetof宏与container_of宏
12 0
|
2月前
宏#define命令练习3
宏#define命令练习3
20 1
|
2月前
宏#define命令练习
宏#define命令练习。
19 2
|
2月前
宏#define命令练习2
宏#define命令练习2。
16 1
|
4月前
|
编译器 C++
offsetof宏的使用、模拟实现及 (size_t)&(((struct_type*)0)->mem_name)的解释
offsetof宏的使用、模拟实现及 (size_t)&(((struct_type*)0)->mem_name)的解释
|
10月前
用#define宏实现Add函数
用#define宏实现Add函数
57 0
|
编译器
#define定义的宏
#define定义的宏
99 0
#define定义的宏
|
编译器 C++
DECLARE_MESSAGE_MAP() 等消息映射宏以及 afx_msg消息映射函数
DECLARE_MESSAGE_MAP() 等消息映射宏以及 afx_msg消息映射函数
276 0
DECLARE_MESSAGE_MAP() 等消息映射宏以及 afx_msg消息映射函数
|
C++
C++学习003-#define 自定义宏
C++中可以用#define来定义自定义的宏 也可以用使用#define来定义常量
80 0