| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1306 人关注过本帖, 1 人收藏
标题:有点不懂,高手帮个忙
取消只看楼主 加入收藏
安普留香
Rank: 2
等 级:论坛游民
帖 子:77
专家分:62
注 册:2010-5-17
结帖率:75%
收藏(1)
 问题点数:0 回复次数:4 
有点不懂,高手帮个忙
程序代码:
#include <iostream>
using namespace std;
int main()
{
     int* p=NULL;
     int x;
     double y;
     y=1;
     x=(int)y;
     p=(int*)&y;
     *p=20;
     cout<<*p<<endl;
     cout<<p<<endl;
     cout<<&y<<endl;
     cout<<"x="<<x<<endl;
     cout<<"y="<<y<<endl;
     system("pause");
     return 0;
}     

y的值没有变,那*p=20到底是什么含义??p=(int*)&y;这句到底有何意义
搜索更多相关主题的帖子: std 
2010-08-07 11:22
安普留香
Rank: 2
等 级:论坛游民
帖 子:77
专家分:62
注 册:2010-5-17
收藏
得分:0 
我知道int改成double可以
只是p=(int*)&y既然能够通过编译,那么问题出在哪呢??
实际上我是看到网络编程中的(sockaddr*)&这种转换,有点疑惑。sockaddr和sock_虽然长度一样,但是里面的数据结构不相同,转换之后进行操作如何会不出错???
2010-08-07 12:10
安普留香
Rank: 2
等 级:论坛游民
帖 子:77
专家分:62
注 册:2010-5-17
收藏
得分:0 
*p到底是什么
2010-08-07 15:18
安普留香
Rank: 2
等 级:论坛游民
帖 子:77
专家分:62
注 册:2010-5-17
收藏
得分:0 
程序在vc6.0上是通过编译的,无需加头文件<stdlib.h>
结果*p=20应该是对&y地址中的数据进行了操作(从运行结果可以看出p=&y),就算类型不同,地址中的数据也应该被修改了
否则*p=20,这里的20赋给了谁
2010-08-07 15:55
安普留香
Rank: 2
等 级:论坛游民
帖 子:77
专家分:62
注 册:2010-5-17
收藏
得分:0 
继续顶
等答案
2010-08-07 18:07
快速回复:有点不懂,高手帮个忙
数据加载中...
 
   



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

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