再给指针变量(*p)赋空值(NULL)时,*p=NULL与p=NULL哪个正确?原因?

如题所述

*p=NULL是将p指向的内存赋值为NUll,而p本身不会变。
p=NULL是改变了p本身的值,将它指向的地址改为NULL
满意请采纳!追问

但是地址有NULL么,好像没有这个地址吧?

追答

就是没有这个地址,所以在使用地址指针的时候出错的时候,都是将指针变量赋值为NULL的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-18
p==NULL正确,*p==NULL表示对p指向的单元(内存地址)赋空值,p==NULL表示把这个指针指向空
第2个回答  2012-03-21
p=NULL表示p不指向任一有用的单元。这种表示是正确的。