| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1039 人关注过本帖
标题:(int *) 和int *有什么区别
只看楼主 加入收藏
lijunbo
Rank: 1
等 级:新手上路
帖 子:13
专家分:8
注 册:2011-10-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
(int *) 和int *有什么区别
请问(int*)和int *之间的区别。
如int * pi=&boy              1
pi=(int *) 0xB8000000           2
表达式1是定义一个指针pi,并将其值初始化为变量boy的地址;
表达式2是什么意思呢??
搜索更多相关主题的帖子: 表达式 
2011-11-25 12:52
hxcet
Rank: 4
等 级:业余侠客
帖 子:78
专家分:229
注 册:2011-11-15
收藏
得分:0 
表达式2意思就是把指针pi重设为指向地址0xB8000000,这个地址的类型就是(int *)

[ 本帖最后由 hxcet 于 2011-11-25 13:04 编辑 ]
2011-11-25 13:02
lijunbo
Rank: 1
等 级:新手上路
帖 子:13
专家分:8
注 册:2011-10-5
收藏
得分:0 
以下是引用hxcet在2011-11-25 13:02:02的发言:

表达式2意思就是把指针pi重设为指向地址0xB8000000,这个地址的类型就是(int *)


我明白了 最后pi的地址就是0xB8000000。
那么可不可以将0xB8000000直接赋给pi,即
pi=0xB8000000
这样做可以吗?
2011-11-25 13:11
hxcet
Rank: 4
等 级:业余侠客
帖 子:78
专家分:229
注 册:2011-11-15
收藏
得分:20 
回复 3楼 lijunbo
这个不可以的,如果直接赋值,0xB8000000会被当做一个int型的16进制数,而不是地址了,这样是无法赋值给指针pi的,所以必须加(int *)
2011-11-25 13:42
lijunbo
Rank: 1
等 级:新手上路
帖 子:13
专家分:8
注 册:2011-10-5
收藏
得分:0 
回复 4楼 hxcet
thank you very much
2011-11-25 14:00
hxcet
Rank: 4
等 级:业余侠客
帖 子:78
专家分:229
注 册:2011-11-15
收藏
得分:0 
回复 5楼 lijunbo
客气哈
2011-11-25 14:04
qq605412254
Rank: 2
等 级:论坛游民
帖 子:15
专家分:63
注 册:2011-11-18
收藏
得分:0 
(int *)其实就是类型强制转换
2011-11-25 16:17
快速回复:(int *) 和int *有什么区别
数据加载中...
 
   



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

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