int *p=NULL; 这样给指针变量赋“空”值对吗?对的话,它又表示什么意思呢?

如题所述

所谓“空”是为了区别于其他情况的一种称呼,实际上就是给指针p赋值为0,就是说
int *p=NULL;就是int *p=0;。一个等于0的指针是表示这个指针不能用的状态,即不可能用*取出0单元的值来。所以给指针赋0(即写p=0的样子)时0前是不必强制的,而如果是其他常数则必须强制为与指针相同的类型,这说明这里给0赋予了特殊的意义!
温馨提示:答案为网友推荐,仅供参考