2014-09-30 77 views
1

是否可以用這種方式添加整數地址?可以用這種方式添加整數地址嗎

int i = 10; 
(&i)++; 

如果我嘗試這個,C編譯器給出錯誤:lvalue required as increment operand。 任何人都可以建議,如果它可能與GCC或不?

+2

你期望這樣的表達要做什麼? – mafso 2014-09-30 16:21:41

+0

爲什麼?這就是問題所在... – kotlomoy 2014-09-30 17:34:22

回答

4

不,你不能那樣做。 &i會產生一個右值,不能與++運算符一起使用,就像編譯器告訴您的那樣。如果你想指向內存剛剛過去的i結束時,您可以使用:

int i = 10; 
int *p = &i + 1; 

但實際上有沒有任何理由做這樣的事情。

相關問題