免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 810 | 回复: 0
打印 上一主题 下一主题

地址变化问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-03-03 16:04 |只看该作者 |倒序浏览
#include <string>;
#include <iostream>;
#include <stdlib.h>;
using namespace std;

#pragma pack (1)
struct xxx
{
    char a[5];
    int b;   
}test;
#pragma pack ()
int main()
{
    int arg1,arg2;
    int end;
    char *ma = "abcd";
    strncpy(test.a,ma,strlen(ma));
   
    cout<<strlen(test.a)<<endl;
    test.b = 300;
    void *p = 0;
    cout<<"enter first arg ";
    cin>;>;arg1;
    cout<<"enter second arg ";
    cin>;>;arg2;  
    p = &amp;
    char *ch = static_cast<char *>;(p);
    cout<<ch<<endl;
    cout<<&p<<endl;                       //这里的地址,和下边的地址一样,未发生变化    ch += arg1;
    p = ch;
    cout<<&p<<endl;                      //here
    int *res2 = static_cast<int *>;(p);
    cout<<*res2<<endl;
    cin>;>;end;
}  
请教,这个void p的地址为什么不发生改变?换了是char ch,也是未发生变化。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP