地址 0 通常没有什么
What't there at address 0 usually
我尝试了以下代码。但它总是崩溃。为什么?我什至没有更改地址 0 的内容。编译于 mingw32-g++
#include<iostream>
int main(){
int* p=0;
std::cout<<*p;
}
取消引用空指针会给出未定义的行为。
在一个相当典型的案例中,那里真的什么都没有。例如,在保护模式下的 x86 上,您通常会为内存的开头设置一些页表条目,这些条目表明内存中不存在任何内容,因此任何读取或写入该地址的尝试都会导致页面错误(例如,Windows 和 Linux 都这样做)。
相关文章:
- ifstream什么都没读
- 当将值推送到矢量时,什么也没发生
- 除以 str.length() 什么也没显示
- 代码编译但不起作用!cmd窗口只是理想和理想,但什么也没发生
- OpenGL 我正在更改我的 z 值,但什么也没发生
- 使用 bjam 构建提升时什么也没发生
- 写入.ini文件 - SimpleIni SetValue 尽管看起来成功了,但什么也没做
- 为什么我的 espeak-ng 程序什么也没说?
- 将"12345678"转换为"1-234-5678",我的代码什么也没产生
- Direct3D:尝试绘制一个三角形,但什么也没显示
- CIN进入数组结构似乎什么也没输入
- gluLook什么也没出现
- C++构造函数调用 boost::文件系统::p ath 作为参数 - 什么也没发生
- 为什么AVIStreamRead什么也没读
- ctypes加载了一个没有错误消息的dll,但什么也没发生
- 我的档案里什么都没写
- WinAPI点击按钮时什么也没发生
- QGraphicsView什么也没显示
- VBO什么也没画
- Qt信号和槽-什么也没发生