程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++中的(unsigned int)&代表的意思

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

編輯:C++入門知識

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;
}

這裡定義了一個宏FIND,求結構體struc裡的某個變量相對於struc的偏移量。

其中(struc *)0表示將常量0強制轉化為struc *型指針所指向的地址;

&(((struc &)0)->e)表示取結構體指針(struc *)0的成員e的地址。

輸出結果為:4 24


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved