我希望在 C 程序中实现一个堆栈,我正在考虑使用 unsigned char * 作为基础。这将是堆栈的底部,所有其他寄存器和信息将是该地址的位移。但是,我似乎无法理解如何正确执行此操作。我正在考虑做这样的事情......
//Info: Store 20 at address x0000007c
unsigned char * base = 0;
int address = x0000007c;
(base + address) = 20;
C 编译器不喜欢这样,所以我想知道如何在不丢失指针的情况下解决这个问题或做类似的事情。