2014-10-31 193 views
-5

我想以一種乾淨的方式保存變量的地址,所以沒有編譯器錯誤或警告。
我有這樣的事情:保存變量的地址

unsigned int a = 5; 
unsigned int address = (unsigned int)&a; 

但我得到一些編譯器警告。如果我寫

unsigned int address = &a; 

它也是錯誤的方式。那麼幹淨的方式是什麼(對於32位體系結構,無需在64位平臺上運行),並且不使用標準庫!

+2

'unsigned int * address =&a;' – 2014-10-31 08:11:09

+1

你爲什麼要問?你爲什麼不使用指針?你會用這個地址做什麼? – 2014-10-31 08:12:17

+0

使用'uintptr_t' – BLUEPIXY 2014-10-31 08:15:37

回答

2

您可以在C使用指針,它應該像

int *address = &a; 
+1

omg從我這是一個愚蠢的問題... :) – alabamajack 2014-10-31 08:13:36

+0

@alabamajack這將是明智的問題可能的解決方案,然後再自動求助於SO ... – 2014-10-31 08:16:44

+0

@TheParamagneticCroissant有時它的發生你沒有前進 – alabamajack 2014-10-31 08:30:24

1

試試這個。

unsigned int a = 5; 
unsigned int *address; 

adress = &a;