数组传参 您所在的位置:网站首页 数组作为参数传递的是什么 数组传参

数组传参

#数组传参| 来源: 网络整理| 查看: 265

下面讨论一下关于将二维数组作为参数传递的方式:

例一:

#include

int max(int *a)

{

int max;

return 0;

}

int main()

{

int a[3][4];

printf("%d",max(a));

return 0;

}

这里用数组名a作为参数传递给int max(int

*a)这个函数作为实参,在VC6下会有warning,在VS2008下会出现错误,如下:错误 2 error

C2664: “max”: 不能将参数 1 从“char [3][4]”转换为“int

*” 提示不能将二维数组地址转换为一个*的指针。(感觉上VS2008比VC6更不讲理了...)

想要将数组首地址传递给一重指针,可以用下面的方法:

例二:

#include

int max(int *a)

{

int max;

return 0;

}

int main()

{

int a[3][4];

printf("%d",max(a[0]));//&a[0][0]

return 0;

}

不过如果这样传递参数,在max函数中只能将a当成是一维数组使用,而当你用二重指针去引用时,VS2008会报错...

可看下面程序:

例三:

#include

int max(int *a)

{

int max = 0;

int i,j;

for(i=0;i

int max = 0;

int i,j;

//for(i=0;i

int max = 0;

int i,j;

for(i=0;i



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有