读书人

二维数组和二维指针的疑问(小弟我分低

发布时间: 2012-02-13 17:20:26 作者: rapoo

二维数组和二维指针的疑问(我分低,给不了那么多,大家海涵)
在C语言中,数组名可以作为该数组的起始地址,当然它的地址也可以用一个指针表示。
但是在如下程序中存在问题,不知是是什么原因。

void sum(int img[176][144])
{
……;
}

int main()
{
int img[176][144];
……;
sum(img[176][144]);
……;
}

或者这样

void sum(int img[176][144])
{
……;
}

int main()
{
int img[176][144];
int **p;
p=img;
……;
sum(img);
……;
}
都会出错说不能把参数int [][]转换成 int **;
请问这是为什么

我想在函数中使用类似的参数,该如何设置。请大家指教。


[解决办法]
void sum(int img[][144])
{
......;
}

int main()
{
int img[176][144];
......;
sum(img);
......;
}

如果能帮到你,没有分也可以^_^
[解决办法]
void sum(int img[176][144])
{
……;
}

int main()
{
int img[176][144];
int (*p)[144];//要这样声明才能进行 p=img
p=img;
……;
sum(img);
……;
}


[解决办法]
http://www.cyberspace.org/~jhl/pass2dary_cn.html
[解决办法]
Run: C:\MinGW\bin\gcc.exe -ansi -pedantic -W -Wall D:\working\c\a.c
D:\working\c\a.c:1: warning: unused parameter 'img '
D:\working\c\a.c: In function `main ':
D:\working\c\a.c:10: warning: passing arg 1 of `sum ' makes pointer from integer
without a cast
D:\working\c\a.c:12: warning: control reaches end of non-void function

Press the Enter key to return to Source Insight...


void sum(int img[176][144])
{
/* ¡­¡­£»*/
}

int main()
{
int img[176][144];
/* ¡­¡­£»*/
sum(img[176][144]);
/*¡­¡­£»*/
}

读书人网 >C语言

热点推荐