开发者社区 问答 正文

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

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

展开
收起
a123456678 2016-03-06 15:15:04 2207 分享 版权
1 条回答
写回答
取消 提交回答
  • 就你这个例子来说,没有什么区别。但是对于结构体等复杂类型,区别就大了,void *得到的指针,如果你对它相加,可能和你用struct的指针相加得到的地址完全不同。
    指针的类型决定了一个数据单位的大小。

    2019-07-17 18:54:41
    赞同 展开评论
问答分类:
C++
问答地址: