jianhong_wu 发表于 2014-10-22 12:09:47

在函数中,怎么样能通过一个指针形参把二维数组传递进去?已解答。

本帖最后由 jianhong_wu 于 2015-8-29 14:05 编辑

问:
在函数中,怎么样能通过一个指针形参把二维数组传递进去?

★坚鸿-深圳:
请看以下范例,注意:二维数组与指针匹配,必须要列数一致,比如上述例子unsigned char (*p)的5与数组列数对应的5一致,当然我测试了一下,在keil的C51平台即使不匹配也能编译通过,但是在IAR针对stm8单片机的编译器,如果不匹配则编译不能通过。它不像一维数组和指针,不需要限定列数。


#include "REG52.H"

void test(unsigned char (*p));

unsigned char ucErWeiBuffer;//定义一个二维数组


void main() //主程序
{
test(ucErWeiBuffer) ; //通过二维指针调用二维数组
while(1)
{
;
}

}

void test(unsigned char (*p)) //注意,此处的二维指针的5必须跟数组的列数5一致
{
p=2;
p=3;
p=5;
}


页: [1]
查看完整版本: 在函数中,怎么样能通过一个指针形参把二维数组传递进去?已解答。