| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 431 人关注过本帖
标题:[讨论](int *)与(int **)
只看楼主 加入收藏
devfhpgah
Rank: 1
来 自:江西
等 级:新手上路
帖 子:204
专家分:0
注 册:2007-8-16
收藏
 问题点数:0 回复次数:5 
[讨论](int *)与(int **)
为什么红色部分第一条可以:int *ptr=(int *)a;我为什么不能直接:int **p=(int **)a,然后把红色部分第二条:int
**p=&ptr;去掉。


#include<stdio.h>
int BubbleUp(int **array,int length);
int main()
{
int a[2][3]={3,4,7,8,2,1};
int i;
int *ptr=(int *)a;
int **p=&ptr;
BubbleUp(ptr,6);
for(i=0;i<6;i++)
printf("%d\t",ptr[i]);
getchar();
return 0;

}

int BubbleUp(int **array,int length)
{
int i,j, temp;
for(i=0;i<length;i++)
for(j=0;j<length-i-1;j++)
if(array[j]>array[j+1])
{
temp=array[j+1];
array[j+1]=array[j];
array[j]=temp;
}

return 0;
}

搜索更多相关主题的帖子: int 
2007-11-15 10:22
zlxiaonan
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-9-29
收藏
得分:0 

int **p=&(int *)a

2007-11-15 10:48
devfhpgah
Rank: 1
来 自:江西
等 级:新手上路
帖 子:204
专家分:0
注 册:2007-8-16
收藏
得分:0 

这样就可以吗


努力才会成功!
2007-11-15 12:31
devfhpgah
Rank: 1
来 自:江西
等 级:新手上路
帖 子:204
专家分:0
注 册:2007-8-16
收藏
得分:0 
这样也不行

努力才会成功!
2007-11-15 15:25
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
VC++2005里面:
int **p=(int**)a;//成功
int **p=&(int*)a;//错误,&需要左值

其次,那个排序函数的第一个参数应该是int*而不是int**。

专心编程………
飞燕算法初级群:3996098
我的Blog
2007-11-17 12:54
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 

另外,如果希望在完全不相干的类型间强制转换又不想使用reinterpret_case可以这么写。比如

[CODE]struct a{
short l1,l2;
};
long b=*(long*)&a;[/CODE]


专心编程………
飞燕算法初级群:3996098
我的Blog
2007-11-17 13:23
快速回复:[讨论](int *)与(int **)
数据加载中...
 
   



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

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