jianhong_wu 发表于 2016-9-18 15:39:02

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

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

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


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


上图这个是一维指针。




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



实物图片如下:


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

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


页: [1]
查看完整版本: 如何用一维指针来操作二维数组?已解答。