|
|
|
|
 请教一个指针判断的问题 - LockTime [ 2005-12-02 10:38 | 480 byte(s)]
 Re: 请教一个指针判断的问题 - passworld [ 2005-12-02 19:33 | 71 byte(s)]
 Re: 请教一个指针判断的问题 - lrlinux [ 2005-12-04 16:52 | 21 byte(s)]
 Re: 请教一个指针判断的问题 - Alpher [ 2005-12-03 09:56 | 4 byte(s)]
 Re: 请教一个指针判断的问题 - LockTime [ 2005-12-02 20:35 | 142 byte(s)]
 Re: 请教一个指针判断的问题 - bugzilla_zhu [ 2005-12-02 18:53 | 68 byte(s)]
 Re: 请教一个指针判断的问题 - LockTime [ 2005-12-02 19:18 | 246 byte(s)]
 Re: 请教一个指针判断的问题 - Alpher [ 2005-12-02 19:22 | 302 byte(s)]
 Re: 请教一个指针判断的问题 - LockTime [ 2005-12-02 18:08 | 6 byte(s)]
 Re: 请教一个指针判断的问题 - alula [ 2005-12-02 18:16 | 110 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
我发现, 在有的程序中,判断指针是否为NULL的时候这样判断, 如下好比 p是一个 char *p= NULL 的指针
if (p && *p) //不明白为什么要这样判断。
free (p);
如果是这样:
char *p= NULL;
p = (char *)malloc (1024);
memset (p, 0, 1024);
if (p && *p) //我想这种判断是不可预测的。
free (p);
|
|
|
----
珍惜时间,留住今天.
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
>>这样判断确保指针和指针所指的内容均不为空
说说你的观点,不要就这么短的几句话!
那我想请问:
if (p && *p) 这个条件满足么? 也就是说 会不会执行if语句内的内容
|
|
|
----
珍惜时间,留住今天.
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
char *p= NULL;
p = (char *)malloc (1024);
memset (p, 0, 1024);
//p 不为NULL, *p 为0,即NULL
//所以if ( TRUE && FALSE)不会执行free (p)
if (p && *p) //我想这种判断是不可预测的。
free (p);
|
|
|
----
Linux初学者。
|
|
[Original]
[Print]
[Top]
|
|
|