我正在尋找在C程序中實現一個堆棧,我正在考慮使用無符號字符*作爲基礎。這將是堆棧的底部,所有其他寄存器和信息將是這個地址的替代。但是,我似乎無法理解如何正確執行此操作。我想這樣做是這樣的......位移與C指針
//Info: Store 20 at address x0000007c
unsigned char * base = 0;
int address = x0000007c;
(base + address) = 20;
的C編譯器不喜歡這個,所以我不知道如何解決這個問題還是沒有失去我的指針類似的東西。
不知道我得到的問題。你不能只設置一個指向你喜歡的某個值的指針,然後離開你去。指針必須指向某個有效的東西。 – John3136 2013-04-24 04:22:36
奇怪。你使用了一個指針變量來存儲一個整數值,並使用一個整數來存儲一個「地址」(它實際上不是一個地址)。爲什麼?你在讀哪本書? – Sebivor 2013-04-24 04:55:12
@undefinedbehaviour這是一本來自C教科書的Y86模擬器程序。此分配旨在教導讀取和執行循環。 – 2013-04-24 05:08:29