免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2952 | 回复: 1
打印 上一主题 下一主题

[C] 如何理解双指针 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-06 20:04 |只看该作者 |倒序浏览
void sample_alloc_safe_str_1(char **lppsz, unsigned int len)   

 {* lppsz = new char[ len + 1 ];  }        

 void   main()  

  {   

 char* lpsz  =NULL;   

sample_alloc_safe_str_1(&lpsz,   100);        

Assert( NULL);   //   no   assert                    


  ...     }      

  /////////////////////////////////////////////////////////////        


void sample_alloc_safe_str_2(char *lpsz, unsigned int len)   

 {   

 lpsz = new char[len + 1 ];   

}        

void main()  

  {  

  char* lpsz = NULL;   

sample_alloc_safe_str_2(&lpsz,100);      

  Assert(lpsz !=NULL);   //   assert!                     


...     }


网上关于双指针的例子大多都是这个。
各位,我想请问下,双指针在内存中是什么形态?上述例子为什么只有双指针才能做到正确分配内从空间?
为什么双指针能实现传入指针给函数的情况下,能够保存在函数内部对指针内容的修改??
双指针究竟是怎么回事??
谢谢。

论坛徽章:
0
2 [报告]
发表于 2010-01-06 20:18 |只看该作者
over.....已经理解了。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP