指针变量可以直接赋值0吗?

p是指针变量,p=0,;这个语句合法吗?

指针变量一般是不可以直接赋值的,因为直接赋值的话,就是让这个指针指向这个赋值的地址,万一这个地址是你计算机内部的某个程序的或者是系统的某个地址,而你对这个指针的值又改变了,那么你的计算机系统就会出现问题,可能导致系统不能正常运行活着程序出错等等。但是null是一个空地址,即0,它不指向任何地址,所以可以赋值为null
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-02-25
关于 指针变量 int *p;
有两个概念。一是指针自己,指针自己的单元,用来存放它要指向的数据的地址,另一个是被指向的数据存放单元。

要分清,你打算给谁赋值,你打算给被指向的数据存放单元赋值,还是给指针自己赋值。本回答被提问者和网友采纳