首页 > 编程语言 > 详细

C++中的(unsigned int)&代表的意思

时间:2014-07-02 08:13:34      阅读:326      评论:0      收藏:0      [点我收藏+]

int  main()

{
    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


C++中的(unsigned int)&代表的意思,布布扣,bubuko.com

C++中的(unsigned int)&代表的意思

原文:http://blog.csdn.net/hbuxiaofei/article/details/36207667

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!