急了急了
2015-07-17 10:59
采纳率: 40%
浏览 2.7k

c++用(void *)和直接用*对数组名取地址有什么区别

char ch[5]="asdf";
cout<<(void * )ch;
cout<<* ch;
编译输出是一样的
有什么区别?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • threenewbee 2015-07-17 11:02
    已采纳

    就你这个例子来说,没有什么区别。但是对于结构体等复杂类型,区别就大了,void *得到的指针,如果你对它相加,可能和你用struct的指针相加得到的地址完全不同。
    指针的类型决定了一个数据单位的大小。

    评论
    解决 无用
    打赏 举报
  • 查看更多回答(5条)

相关推荐 更多相似问题