独闷闷网

 找回密码
 立即注册
搜索
查看: 801|回复: 0
收起左侧

[原创] 如何用一维指针来操作二维数组?已解答。

[复制链接]
发表于 2016-9-18 15:39:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 jianhong_wu 于 2016-9-18 15:41 编辑

★坚鸿-深圳:
我们在做液晶屏显示项目的时候,有很多现成的显示函数是直接显示一条字符串的,显示函数通过检测最后一个字符是不是0表示结束,那么问题来,对于上面的二维数组,如何单独提取其中某一行的信息?
如何用一维的指针提取二维数组里的某一行字符串信息?请看我的实验。
二维数组.png

上图这是一个二维常量数组,数组里记录了9条信息,每条信息都是字符串的形式。每个字符串最后面都默认是多一个结束字节(十进制的0)。

一维指针.png
上图这个是一维指针。
没有强制.png

编译不通过.png

★坚鸿-深圳:
这个时候,要是我加了“类型强制”,会是什么样子呢?见证奇迹的时刻到了。
强制转换.png 成功了.png


实物图片如下:

实物.jpg
看到没,就一个for循环加两行代码,就可以显示这么多内容。

总结如下:
这次用到了C语言的类型强制转换。
指针只是取某个数或者数组的地址,但是在实际提取地址的时候,由于类型的不匹配,C编译器会插手干预,为了撇开C编译器的干预,可以在前面添加“类型强制转换”的语句,通过强制转换后,一维指针就可以随心所欲地操作二维数组了。掌握了这一大招,以后在项目中必然如虎添翼。


乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2018-6-24 07:27 , Processed in 0.113844 second(s), 21 queries .

快速回复 返回顶部 返回列表