syGOAT 2021-10-05 12:56 采纳率: 50%
浏览 39
已结题

c语言初学者,一个关于结构和字符串混合的问题

我想让结构的一个成员是字符串。如图,当我没有给字符串长度时,这样报错

img


然后我给了字符串长度,编译通过

img


如果在定义结构的时候把数组形式改成指针形式,编译同样通过。
请问,为什么这里一定要提前说明字符串长度或者用指针,为什么第一次的代码不可以?

  • 写回答

3条回答 默认 最新

  • 关注

    struct中不能指定不完整的数组,因为struct应有确定的大小,如果用变长数组,那么struct长度就不定了
    用定长数组和指针就没有对应问题

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

报告相同问题?

问题事件

  • 系统已结题 10月12日
  • 已采纳回答 10月5日
  • 创建了问题 10月5日