| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 418 人关注过本帖
标题:关于指针变量的小问题
只看楼主 加入收藏
snailqiu
Rank: 2
等 级:论坛游民
帖 子:59
专家分:45
注 册:2007-9-26
结帖率:100%
收藏
 问题点数:0 回复次数:3 
关于指针变量的小问题
听说每定义一个指针变量,最好是让它先指向NULL,这是一个好的编程习惯。
为什么?
搜索更多相关主题的帖子: 最好 
2013-07-10 10:42
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
屁,看需求

同样的代码
void GetXXX( void** p )
{
    *p = malloc( …… );
}
int main()
{
    void* p;
    GetXXX( &p );
}

有的人认为应该是 void* p = NULL; 更好
但几乎所有的代码检查器都认为 GetXXX( &p ) 一定会给p置新值,因此一开始置为NULL是一种无作用的行为。无作用的行为说明这段代码逻辑有问题,会作为错误给统计出来。

很难说谁对谁错,因为评判的标准不一样。
前者,认为规范很重要,规范可以避免错误;后者,认为逻辑很重要,严格的逻辑可以避免错误。

我建议,如果你老板喜欢前者,那你就加 = NULL;
如果你是写一些开源的代码,会被很多人看到,那就别加 = NULL。
2013-07-10 11:22
哎小调
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-7-10
收藏
得分:0 
指向NULL不一定,但是一定要初始化指针
2013-07-10 12:01
qq525273446
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:54
专家分:161
注 册:2009-11-18
收藏
得分:0 
如果理解不深  统一给指针赋初值是不会错的  可以避免野指针出错

找工作中……
2013-07-10 23:52
快速回复:关于指针变量的小问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023612 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved