int main()
{
using namespace std;
int i = 20;
int m = (unsigned int)&i; //注意這裡的&符號
cout << m << endl;
}
&:表示引用的意思,表示m是i的一個別名,相當於人的小名。
再看下面的例子:
#include#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; }
其中(struc *)0表示將常量0強制轉化為struc *型指針所指向的地址;
&(((struc &)0)->e)表示取結構體指針(struc *)0的成員e的地址。
輸出結果為:4 24