大帅帅学长 2022-09-04 19:58 采纳率: 66.7%
浏览 17
已结题

*(int*)pc *(char *)pc

void* pc;
int i = 123;
char c = 'a';
pc = &i;
cout << pc << endl;         //输出指针地址006FF730
cout << *(int*)pc << endl;  //输出值123
pc = &c;
cout << *(char*)pc << endl; //输出值

问题:当一个指针附上一个表示的是指针所对应的值,那中间的(char)和(int*)表示的是啥

  • 写回答

2条回答 默认 最新

  • 私房菜 优质创作者: 移动开发技术领域 2022-09-05 09:02
    关注

    没那么复杂,你这样理解
    p = 0x1234;
    这是个指针的地址,如果你想使用 *p,告诉系统,你要去取数据,那么系统就存在疑问,取多少个字节的内容???
    ok,有个方便的,类型,只要系统知道 p 的类型就知道取多少 字节的内容

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月13日
  • 已采纳回答 9月5日
  • 创建了问题 9月4日