我正在寻找在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