能力值:
(RANK:1010 )
|
-
-
2 楼
list[i][j],要这样使用有个前提:
程序必须知道每一行有几个元素,假设为len则index = i * len + j ;
二维数组 只是一个逻辑概念,真正存储结构还是线性的
void Hild(unsigned char **list,int Dx,int Dy)
在你的函数Hild中不知道一行有几个元素,也就无法正确定位,因此出错 #include <stdio.h>
[COLOR="Red"]#define DEF_LENGTH 6[/COLOR]
void Hild(unsigned char [COLOR="red"](*list)[DEF_LENGTH][/COLOR],int Dx,int Dy)
{
for ( int i = 0; i < Dx; i++)
{
for ( int j = 0; j < Dy; j++)
{
printf("%d\t", list[i][j]);
}
printf("\n");
}
}
int main()
{
unsigned char buf[6][DEF_LENGTH] = { { 0, 0, 0, 0, 0, 0 },
{ 0, 0, 1, 1, 0, 0 },
{ 0, 0, 1, 1, 0, 0 },
{ 0, 0, 1, 1, 0, 0 },
{ 0, 0, 1, 1, 0, 0 },
{ 0, 0, 1, 1, 0, 0 } };
Hild( buf, 6, 6);
return 0 ;
}
|