首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于char 类型地址的有关问题

2013-10-01 
关于char 类型地址的问题。char mm[7]dfadsfcoutmmendlcout&mmendl //输出的是mm的地址,应该

关于char 类型地址的问题。
char mm[7]="dfadsf";

cout<<mm<<endl;
cout<<&mm<<endl; //输出的是mm的地址,应该是首地址。
    for (int i=0;i<7;i++)
    {
      cout<<&mm[i]<<endl;   循环里怎么输出的不是地址,而是字母?
    }

最好能详细点。谢谢。把您的感悟都说出来,对我来说是字字金贵啊。
[解决办法]
cout<<&mm[i]<<endl;等同于
cout << mm + i << endl;
本质上是const char*类型的,而cout的《操作符如果接受char*类型的参数,输出的是其指向的字符串。所以输出字母了。
你这样改后就输出地址了
cout << reinterpret_cast<int*>(&mm[i]) << endl;

热点排行