內存地址通常喜歡0x7ffff3a9ae94
以十六進制顯示甲。爲什麼我們不能直接將這些值分配給指針?爲什麼我們不能將值分配給指針
int *ptr=7ffff3a9ae94;
A「類似」的行爲被證明,當我嘗試這樣做。(這可能是一個單獨的問題本身)
int i=0;
*ptr=&i;
&i=ptr;
這兩種情況都顯示在g++ 4.7.2
語法錯誤,這些錯誤,我以爲是指其語言限制。
爲什麼這個限制是在C++實現的?
或者這是某種操作系統的限制?
注:This問題有類似的標題,但它並沒有給我回答我的問題。
因爲'INT * PTR = 7ffff3a9ae94;'是無效的語法。 – usr2564301
它不會識別硬編碼指向**動態內存的指針地址。 – cybersoft
你不能像'7ffff3a9ae94'那樣在'int'中存儲十六進制值。有一些協議需要遵守,或者您需要創建一個協議,並確保其他人也遵循。 –