折纸让纸上消失的魔术:C语言问题的提问

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 21:28:46
我想问一下下面二者有什么区别啊?
*p='\0';
*p=null;
这两个什么时候用什么啊???搞不懂哦!!

*p='\0';
*p=null;

两者做的事情实际上是一样的。

但是根据习惯
*p='\0'; 多用于字符串的操作
例如
char a[]="hello world";
char *p = &a[0];
p+=5;
*p='\0';
这时字符串a被我们截断了,变成 hello
内存里面是这样变化的
hello world\0 - > hello\0world\0

*p=null; 多用于指针的操作
void *p = malloc(20);
free(p);
p=null;

当然有区别!!
*p=null 一般不用,都用的'\0'
一般是用在字符串

楼上的说的差不多。但是*p=null;这种用法实际中是不用的。常用的p=NULL;其中p是指针类型。