1

如何使指针指向物理内存的最后一个字节并访问其数据?这甚至可能吗?

4

3 回答 3

1

当内存不受保护时是可能的,例如在小型嵌入式系统中。带有 AVR 处理器的 Arduino 就是一个可以做到这一点的例子。

#define MEMORY_SIZE 1024 // 1 KB

char* lastBytePtr = (char*)(MEMORY_SIZE-1);
char lastByteValue = *lastBytePtr;
于 2013-09-24T11:37:23.010 回答
1

不,因为 C 语言没有指定底层内存架构。

在选择操作系统/架构时,您可以采用操作系统相关或创造性的方式。

于 2013-09-24T12:50:12.547 回答
0

一般是不可能的。现代操作系统具有应用程序内存和物理内存之间的映射。如果您编写内核(系统)函数,则可以这样做,但是您需要指定您正在使用的操作系统。

于 2013-09-24T11:35:06.550 回答