首页 > 代码库 > C++中的(unsigned int)&代表的意思
C++中的(unsigned int)&代表的意思
{
using namespace std;
int i = 20;
int m = (unsigned int)&i; //注意这里的&符号
cout << m << endl;
}
&:表示引用的意思,表示m是i的一个别名,相当于人的小名。
再看下面的例子:
#include <stdio.h> #define FIND(struc,e) (int)&(((struc *)0)->e) typedef struct { int a; char b[20]; double ccc; }stu; int main() { printf("%d\n",FIND(stu,b[0])); printf("%d\n",FIND(stu,ccc)); return 0; }
这里定义了一个宏FIND,求结构体struc里的某个变量相对于struc的偏移量。
其中(struc *)0表示将常量0强制转化为struc *型指针所指向的地址;
&(((struc &)0)->e)表示取结构体指针(struc *)0的成员e的地址。
输出结果为:4 24
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。