简单的问题 结果不是我想要的

dengzhixing 2009-07-16 04:44:27
int main()
{
char c[5];
for(int i=0;i<5;i++){
cout<<&c[i]<< endl;
}
// getch();
return 0;
}

结果不是我想要的地址 为什么 换成int bool类型的数组可以得到结果
...全文
25 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
我来看看CB 2009-07-17
  • 打赏
  • 举报
回复
char a[5]本身就是一个指针
dengzhixing 2009-07-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wtu_3205017 的回复:]
cout < <&c < < endl; 可以取数组首地址, 后继地址= 首地址 + (数组元素类型长) 不能直接 用 &(c+i)或 &c[i]
[/Quote]

为什么不能直接用&(c+i) 当我把这个char数组换成int数组的时候 结果能正常地显示
科多兽 2009-07-16
  • 打赏
  • 举报
回复
能讲下原因吗?
fairchild811 2009-07-16
  • 打赏
  • 举报
回复
如楼上所说

cout << &c + sizeof(char) * i;
wtu_3205017 2009-07-16
  • 打赏
  • 举报
回复
cout < <&c < < endl; 可以取数组首地址, 后继地址= 首地址 + (数组元素类型长) 不能直接 用 &(c+i)或 &c[i]
dengzhixing 2009-07-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wtu_3205017 的回复:]
你想要什么地址?
[/Quote]
结果得到的并不是一个地址 而是以一个类似@的东西 我想得到得是C[0]到C[4]地址
dengzhixing 2009-07-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 dengzhixing 的帖子:]
int main()
{
char c[5];
for(int i=0;i <5;i++){
cout < <&c[i] < < endl;
}
// getch();
return 0;
}

结果不是我想要的地址 为什么 换成int bool类型的数组可以得到结果
[/Quote]

结果得到的并不是一个地址 而是以一个类似@的东西 我想得到得是C[0]到C[4]地址
wtu_3205017 2009-07-16
  • 打赏
  • 举报
回复
你想要什么地址?

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧