| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1277 人关注过本帖
标题:指向多维数组的指针明显成了摆设!
只看楼主 加入收藏
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
 问题点数:0 回复次数:14 
指向多维数组的指针明显成了摆设!

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
int iarra[3][3], *pia, ia;

void Sort(int *pia, int isize);

srand(time(NULL));

for (ia = 0; ia <= 2; ia++)
{
int ib;

for (ib = 0; ib <= 2; ib++)
{
iarra[ia][ib] = rand() % 100;
}
}
pia = (int *)iarra; /* 整型指针指向2D数组,强制转换,K&R的数组指针明显没用 */

Sort(pia, 9);

for (ia = 0; ia <= 2; ia++)
{
int ic;

for (ic = 0; ic <= 2; ic++)
{
printf("%d ", iarra[ia][ic]);
}
}

getch();
return 0;
}

void Sort(int *pia, int isize)
{
int id;

for (id = 1; id <= isize -1; id++)
{
int ie;

for (ie = 0; ie <= isize -2; ie++)
{
if (*(pia + ie) > *(pia + ie + 1))
{
int itemp;

itemp = *(pia + ie);
*(pia + ie) = *(pia + ie + 1);
*(pia + ie + 1) = itemp;
}
}
}
}



































搜索更多相关主题的帖子: 多维 指针 摆设 
2006-04-26 00:52
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

第一 这是C程序,你加了一个C++里的用法(你用的VC++6.0 我理解),但没必要

第二 你这个只是一般的指针,当然结构是可以做到的。 但专门指向二维数组的指
针显然比这个要方便,可以直接当数组名处理,可以直接加1指向下一行

第三 强制转换是没必要,它本来指向的就是第一个数据,为整型指针(常量)


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-04-26 01:09
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

纠错 结构→ 结果


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-04-26 01:14
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 
我晕,你直接把pia = iarra,这样赋值能通过编译,我怀疑,这不是1D的啊

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-04-26 01:19
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

你怀疑?试试不就知道了。


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-04-26 01:20
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 

我用的是Dev C++,不能过编译啊,我就不信VC能


日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-04-26 01:22
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

你找TC试 绝对是可以的,和你的效果是一样的


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-04-26 01:25
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 
恩,是可以,出了个警告,可以指针转换

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-04-26 01:29
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

凡是兼容C++/C 的编译器都不能通过编译 ,因为它认为只有定义了指向二维数组
的指针才可以这么写


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-04-26 01:30
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 

欧,没注意,原来楼上的哥们是斑竹啊,SORRY,见笑了,你老兄是对的


日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-04-26 01:34
快速回复:指向多维数组的指针明显成了摆设!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025635 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved