const uchar ASCII[10][2]={0X30,'0',0X31,'1',0X32,'2',0X33,'3',0X34,'4',0X35,'5',0X36,'6',0X37,'7',0X38,'8',0X39,'9'};//定义一个二维数组,存储在程序存储区
const uchar TABLE[11]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0XFF};//定义一个一维数组,存储在程序存储区
uchar disp_buff[6]={1,2,3,4,5,6};
……
……
……
void abc(uchar data[],uchar num)
{
uchar x=0,y=0;
uchar i,j;
uchar const *ip1;
uchar const *ip2;
ip1=TABLE; //这样引用可以
ip2=ASCII; //这样引用为什么不可以?
ip1=&TABLE[0]; //这样引用可以
ip2=&ASCII[0][0]; //这样引用却可以
for(i=0;i<num;i++)
{
;
}
}
我想问的是二维数组为何不能直接将指针引用数组名
ip2=ASCII; 这样为什么不可以啊?编译时出错
ip2=&ASCII[0][0]; 而这样却可以
而一维数组这两种方式都可以
ip1=TABLE;
ip1=&TABLE[0];
还有就是二维数组在函数调用时可否做实参进行参数传递啊?
如果可以那要怎么传递参数,请举个例子给我看一下?