| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 241 人关注过本帖
标题:数组的指针做参数
收藏  订阅  推荐  打印 
vfdff
Rank: 6Rank: 6
等级:金牌会员
威望:6
帖子:1343
积分:14908
注册:2005-7-15
数组的指针做参数

对于 void process(char *p,int (*q)[10])函数,第二个参数是一个数组的指针,为什么对于第二个参数一定是例如int a[8][10]; 的二维数组
而不能是int (*a)[10];类型的数组的指针变量呢??

void main()
{
//int (*a)[10]; // error ??
int a[8][10]; // right
char *numbers="a123*456 17960?302ta1b5897";
//printf("%s",numbers);
process(numbers,a);
}

搜索更多相关主题的帖子: 指针  参数  numbers  void  process  
2007-11-21 16:42
cosdos
Rank: 6Rank: 6
来自:ShangHai
等级:金牌会员
威望:1
帖子:1384
积分:14430
注册:2007-6-19

int (*a)[10];
int a[8][10]; /* 其定义覆盖了 int (* a)[10]; 的定义*/

作用域问题。

a[8][10] 的标识符与 (* a)[10] 标识符是一样的。

[此贴子已经被作者于2007-11-21 17:12:55编辑过]


—>〉Sun〈<—
2007-11-21 17:10
yangyang321
Rank: 1
等级:新手上路
帖子:13
积分:236
注册:2007-11-25

char (*a)[10];
int a[8][10];

这样的话好现是对的哦
记得命名空间不一样
2007-11-25 16:40
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

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