免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: ftInternet
打印 上一主题 下一主题

C/C++语言:一个有趣的地址问题。进来看看。 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2006-09-06 12:47 |只看该作者
lz 你自己玩吧。我没兴趣在这种问题上浪费时间。

论坛徽章:
0
12 [报告]
发表于 2006-09-06 12:50 |只看该作者
原帖由 isjfk 于 2006-9-6 12:47 发表
lz 你自己玩吧。我没兴趣在这种问题上浪费时间。




那就让我这样的闲而笨的人继续这个烂问题吧。:em11::em11::em11:

论坛徽章:
0
13 [报告]
发表于 2006-09-07 11:13 |只看该作者
#include <iostream>

using namespace std;

int main()
{
        char *MyName = new char[8];
        strcpy(MyName, "1234567");
        char **pName = reinterpret_cast<char**> (&MyName);

        cout << *pName << endl;
        cout << MyName << endl;

        delete []MyName;
        return 0;
}
这个已经可以了,我试了一下,在VC上输出了
1234567
1234567
本来LZ把MyName 当成数组时,&MyName 和Myname里的内容是一样的,所以才会有strcpy(   ,  )调用时,出现了问题,而现在动态的分配了MyName,就不一样了,&MyName 和MyName 的值不同了,可以正确的运行了。我认为这就是数组和字符串常量的区别。

论坛徽章:
0
14 [报告]
发表于 2006-09-07 12:21 |只看该作者
原帖由 foolishx 于 2006-9-7 11:13 发表
#include <iostream>

using namespace std;

int main()
{
        char *MyName = new char[8];
        strcpy(MyName, "1234567";
        char **pName = reinterpret_cast<cha ...


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP