Chinaunix首页 | 论坛 | 博客
  • 博客访问: 584690
  • 博文数量: 92
  • 博客积分: 5026
  • 博客等级: 大校
  • 技术积分: 1321
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-28 11:04
文章分类

全部博文(92)

文章存档

2011年(9)

2010年(17)

2009年(12)

2008年(54)

我的朋友

分类: C/C++

2008-05-28 11:28:19

众所周知的 把数组作为参数传递时,会自动的将数组类型转变为指针类型。
 
一维数组很好理解。但是二维甚至更多维的时候情况就会有点让人头疼了。
 
经过不断尝试,规则是通用的
 
void fun(int a[10][10]);
void fun(int a[][10]);
效果一样的, a是一个指向有10位数据的数组的指针,参数传递进来时,自动将第一维数组转换为指针。因此第一个10是没有效果的
 
void fun(int* a[10]);
void fun(int* a[]);
void fun(int** a);
效果也一样,自动将第一个数组转换维指针。
 
经过上面的比较,相信已经能明了了。
阅读(3541) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~