| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 209 人关注过本帖
标题:关于指针的指针和二维数组
收藏  订阅  推荐  打印 
Love嵌入式
Rank: 2
等级:注册会员
帖子:84
积分:1188
注册:2008-3-4
关于指针的指针和二维数组


程序代码:
void MaxSum2(int m,int n,int **a)
int main(void)
{
  int a[4][4]={0};
  MaxSum2(4,4,a);
}

这样传参数为什么不对啊??
搜索更多相关主题的帖子: 指针  
2008-9-16 21:20
p1s
Rank: 3Rank: 3
等级:中级会员
威望:5
帖子:344
积分:3682
注册:2005-11-4

感觉a只能与int*相匹配,而不能与int**相匹配啊。
2008-9-16 21:50
ml232528
Rank: 2
等级:注册会员
威望:1
帖子:172
积分:1910
注册:2007-7-23

不对

void MaxSum2(int m,int n,int (*a)[4])

-︻┻┳═一 ☆ 悲伤的代价就是让自己明白什么是最重要的和应该珍惜的
2008-9-16 21:52
ml232528
Rank: 2
等级:注册会员
威望:1
帖子:172
积分:1910
注册:2007-7-23

如果是C的话好像可以 很久没用老编译器了

-︻┻┳═一 ☆ 悲伤的代价就是让自己明白什么是最重要的和应该珍惜的
2008-9-16 21:57
forever74
Rank: 4
等级:高级会员
威望:3
帖子:515
积分:5984
注册:2007-12-27

a的类型是int (*)[4]
不是int **
2008-9-16 21:59
StarWing83
Rank: 12Rank: 12Rank: 12
来自:湖北工业大学
等级:版主
威望:9
帖子:2483
积分:26219
注册:2007-11-16

ml232528 在 2008-9-16 21:57 的发言:

如果是C的话好像可以 很久没用老编译器了
C也不行。
int**代表指向的是一个指针表格,
而int [][]却直接是一个数据行列。

你一个int**会乱了套的,最轻的后果是程序崩溃……

看看这个:
http://c-faq-chn.sourceforge.net/ccfaq/node90.html

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-9-17 02:12
飞天舞xsj
Rank: 2
来自:华中科技大学
等级:注册会员
帖子:45
积分:670
注册:2006-12-25

void MaxSum2(int m,int n,int **a),中int **a,将a定义的是一个指向指针的指针变量,即它指向一个指向整型数据的指针变量。
MaxSum2(4,4,a);中的a是二维数组的首行起始地址,*a后是首行首列地址,而他并不是一个指向整型数据的指针变量

2008-9-17 08:00
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.052979 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved