指针使C程序崩溃

指针使C程序崩溃,c,pointers,C,Pointers,这段代码到底在做什么: char* pointer=0; *pointer=0; 每次我运行这段代码,程序都会崩溃 第一行:创建一个指向字符的指针变量,然后将其初始化为地址零(空指针) 第二行:尝试将零写入指针所指向的地址。 地址0不在进程的可写虚拟内存区域内,因此会出现分段错误。在第一行代码中,您声明了一个字符指针,并将其初始化为0。它只是一个空指针 在第二行中,您试图为空指针赋值,因此程序崩溃。查找取消引用空指针显然是引用了未保留的内存。0通常用作NULL的值,因此地址0通常具有读写保护

这段代码到底在做什么:

char* pointer=0;
*pointer=0;

每次我运行这段代码,程序都会崩溃

第一行:创建一个指向字符的
指针
变量,然后将其初始化为地址零(空指针)

第二行:尝试将零写入
指针所指向的地址。

地址0不在进程的可写虚拟内存区域内,因此会出现分段错误。

在第一行代码中,您声明了一个字符指针,并将其初始化为0。它只是一个空指针



在第二行中,您试图为空指针赋值,因此程序崩溃。

查找取消引用空指针显然是引用了未保留的内存。0通常用作NULL的值,因此地址0通常具有读写保护,因此在您的情况下,写入该地址将使程序崩溃。寻求调试帮助(“为什么此代码不工作?”)的问题必须包括所需的行为,一个特定的问题或错误,以及在问题本身中重现它所需的最短代码。@n.m.我认为问题很清楚。即使我的智力有限,我也能在1.254毫秒内计算出OP不希望他的程序崩溃。@SzG没有程序应该崩溃。除了不崩溃,程序应该做什么?