china丶龙少 2018-12-19 11:33 采纳率: 0%
浏览 371

在.c文件中,为什么struct node * = void *会赋值成功?

在使用链表时,创建一个.c文件,来执行

struct node *p = malloc(sizeof(struct node));

这个语句的时候,就不会报错。

而创建.cpp文件时,执行这条语句,就会报错说不能将void*赋给struct node*。

按理说malloc返回值是void*,的确不能直接给p赋值的,而应该强制转换为struct node*。如struct node *p = (struct node*)malloc(sizeof(struct node));

C和C++在类型这方面的区别有些不是很理解,哪位大神能解释一下?

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-09 15:26
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥15 如何修改pca中的feature函数
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况