You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言链表编程报错:assignment from incompatible pointer type问题咨询

解决指针类型不兼容的赋值错误

你的报错根源是指针类型不匹配:

  • struct etat结构体中的transi字段声明为struct etat *,即指向etat结构体的指针;
  • 而你要赋值的t是struct transition *类型,指向的是另一种完全不同的结构体。

C语言不允许直接将不同结构体类型的指针互相赋值,因此触发了assignment from incompatible pointer type错误。

解决方法

修改struct etat的结构体声明,把transi字段的类型从struct etat *改为struct transition *,让它和目标指针类型匹配:

struct etat { 
    char e; 
    int termin; 
    struct etat *etatsuiv; 
    struct transition *transi;  // 修改此处类型
}; 

修改后,p->transi = t即可正常赋值,因为两边都是struct transition *类型,类型完全兼容。

内容的提问来源于stack exchange,提问作者insaf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 23:40:31