CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

请问大牛,如何判断指针是否初始化?

楼主addcplus(一打就倒)2005-11-02 15:58:25 在 C/C++ / C语言 提问

我们知道在定义指针变量的时候,如果没有初始化的话,这个指针变量的值是一个乱七八糟的值,而不是我们有的人想象的null值。事实上,要让指针变量成为null,仍需要显式赋值。  
      因此,从这个角度讲,指针是否初始化就不能直接判断指针变量的值是否为null了。但是既然不能这么判断,那又该怎么判断呢?比如我要做一个函数,其中一个参数就是指针,怎么对这个指针是否初始化进行判断呢?  
      谢谢 问题点数:30、回复次数:10Top

1 楼xiaocai0001(高楼目尽欲黄昏/梧桐叶上萧萧雨)回复于 2005-11-02 16:22:43 得分 5

指针有没有初始化你编写程序的时候还不知道啊?  
   
  关于函数参数是指针时,   那么在调用这个函数时,   就有一个实参向形参赋值的过程.   这就是函数参数的初始化呀Top

2 楼pebblefanny(编程恶魔)回复于 2005-11-02 16:28:10 得分 5

我来告诉你吧,你看一下你的指针定义的地方是不是把它与一个变量的地址相连了啊!!  
  再就是你想定义指针了,就先想清楚它要指向谁,然后再用,不就避免了它乱指了吗/Top

3 楼bm1408(向va_list学习~不用VC好多年~)回复于 2005-11-02 16:29:15 得分 5

我一般是采用  
  assert()  
  Top

4 楼bm1408(向va_list学习~不用VC好多年~)回复于 2005-11-02 16:30:10 得分 0

char   *strcpy(char   *dest,const   char   *source)  
  {  
        assert(dest!=NULL);  
  ...Top

5 楼xiaocai0001(高楼目尽欲黄昏/梧桐叶上萧萧雨)回复于 2005-11-02 16:31:05 得分 5

assert()不管用  
  野指针用assert()也不能解决问题Top

6 楼archim(PRC)回复于 2005-11-02 16:37:51 得分 5

只能一行行的对着程序看,呵呵Top

7 楼addcplus(一打就倒)回复于 2005-11-02 16:55:21 得分 0

--这是人家面试官问我的问题   :)  
  --问题在于指针不是写函数的人定义的怎么办?就说如果是多人合作开发的时候,你确实无法保证人家的指针已经初始化了啊?我需要在函数内部进行判断的  
   
  比如要实现void   memmove(void   *   Destination,void   *   Source,site_t   n)函数的话,怎么对两个指针参数进行检查呢?谢谢Top

8 楼xiaocai0001(高楼目尽欲黄昏/梧桐叶上萧萧雨)回复于 2005-11-02 17:02:03 得分 0

无法检查传入的指针是否是指向有效地址的指针.  
   
  问题在于指针不是写函数的人定义的怎么办?  
  -----------------------------  
  这个就需要一个团队进行一些合作开发的规范.  
  比如要求定义指针时,必须进行初始化,   不用的指针必须置为NULL等,   就可用是否为NULL来判断指针是否有效了.Top

9 楼cg_i(半点闲)回复于 2005-11-02 17:09:52 得分 5

C自它生出来那天~~~就没有这个功能。Top

10 楼addcplus(一打就倒)回复于 2005-11-02 17:16:01 得分 0

这就是印证了“用C/C++来开发就跟开越野车一样”这句话了,呵呵Top

相关问题

  • 怎样判断一个指针是否被正确的初始化过?
  • 怎样初始化字符指针
  • 如何初始化指针结构
  • 指向struct数组的指针,怎么初始化丫
  • 如何判定一个指针是未经初始化的?
  • 关于字符串指针数组初始化问题
  • 请问怎样初始化结构数组的指针?急用!!!!!!!!
  • 多维指针的初始化的关系问题
  • 怎么给这个指针变量初始化啊?
  • 简单问题:初始化指针问题。

关键词

  • 指针
  • 函数
  • null
  • 初始化
  • 判断
  • 变量
  • 定义
  • 是否
  • 参数
  • assert

得分解答快速导航

  • 帖主:addcplus
  • xiaocai0001
  • pebblefanny
  • bm1408
  • xiaocai0001
  • archim
  • cg_i

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo