独闷闷网
标题:
在函数中,怎么样能通过一个指针形参把二维数组传递进去?已解答。
[打印本页]
作者:
jianhong_wu
时间:
2014-10-22 12:09
标题:
在函数中,怎么样能通过一个指针形参把二维数组传递进去?已解答。
本帖最后由 jianhong_wu 于 2015-8-29 14:05 编辑
问:
在函数中,怎么样能通过一个指针形参把二维数组传递进去?
★坚鸿-深圳:
请看以下范例,注意:二维数组与指针匹配,必须要列数一致,比如上述例子unsigned char (*p)[5]的5与数组列数对应的5一致,当然我测试了一下,在keil的C51平台即使不匹配也能编译通过,但是在IAR针对stm8单片机的编译器,如果不匹配则编译不能通过。它不像一维数组和指针,不需要限定列数。
#include "REG52.H"
void test(unsigned char (*p)[5]);
unsigned char ucErWeiBuffer[4][5];//定义一个二维数组
void main() //主程序
{
test(ucErWeiBuffer) ; //通过二维指针调用二维数组
while(1)
{
;
}
}
void test(unsigned char (*p)[5]) //注意,此处的二维指针的5必须跟数组的列数5一致
{
p[0][1]=2;
p[0][2]=3;
p[3][4]=5;
}
复制代码
欢迎光临 独闷闷网 (http://dumenmen.com/)
Powered by Discuz! X3.2