首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

二维数组和二维指针的疑问(小弟我分低,给不了那么多,大家海涵)

2012-02-13 
二维数组和二维指针的疑问(我分低,给不了那么多,大家海涵)在C语言中,数组名可以作为该数组的起始地址,当然

二维数组和二维指针的疑问(我分低,给不了那么多,大家海涵)
在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]);
/*¡­¡­£»*/
}

热点排行