首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

【C语言】指向指针的指针 char * *运用技巧

2013-04-02 
【C语言】指向指针的指针 char * *使用技巧需求:因为需要定义一个字符串数组,用来存放多个字符串,于是想到使

【C语言】指向指针的指针 char * *使用技巧

需求:

因为需要定义一个字符串数组,用来存放多个字符串,于是想到使用 char **这种结构——指向指针的指针,于是编写代码如下:

由上面的图可以看出,*ch = p;这条语句执行之后,ch地址处存放的值就变成了 0x8000 即第一个字符串的地址,当执行到输出语句时:

134514184134520952134514184
哦,原来这样,p和 *ch既能输出字符串又能输出地址。此时,结合现有成果和已有知识,猛然知道:

其实 %s 输出的字符串是,由参数表示的地址处的字符开始输出,直到 遇到字符串结束符‘\0’,而 %d只是输出地址。

并不是以前我以为的 输出的值相同只是格式不同 ,以前我以为 输出十进制数就是把字符串都变成了十进制数,这是多么严重的一个错误哇!

这样一切就清楚了。

总结:在编程序的时候,如果发现错了,但是,一时又找不出来哪里有问题的时候,我们不妨多试试,用相近的代码多多尝试,不一定哪次就来灵感了呢,而且,一定要剔除自己的成见,比如,我的这个程序里面 我想当然以为 输出的值都应该是相同的。多多练习,就会发现越来越多的问题,这样也能让自己的只是掌握的更加熟练,更加准确。还有就不不要懒,该编程运行看效果的时候就得编程,该画图标识的时候就得画图,另外,我觉得codepad在线编译器确实不错,极大的简便了编译过程,自从用了gcc之后,我就没用过 MS的 vc6.0 之类的了,windows平台的那种软件一天能死N次。

热点排行