c语言数组常见错误,C语言编程常见错误与解决办法

warning: excess elements in array initializer

警告:数组初始值设定项中有多余元素 (定义的数组长度比赋值的个数小)

数组定义出错

“conflicting types for …” 错误

原因一:

原来是因为没有先做函数声明,而函数位于main()之后。

在main函数前声明了函数原型后,一切ok.

原因二:

头文件的被循环引用,在引用时考虑清楚包含顺序

原因三:

头文件声明和定义参数稍有不同

例:

头文件中声明 void Hanlder(const char * buf);

在定义时写作 void Hanlder(char * buf);

这是就会发生conflicting types for 错误问题

error: two or more data types in declaration specifiers

少了一个分号”;”,比如定义一个结构体时,在最后忘了加分号。

解决方法:加上分号即可。

重复定义:去掉重复即可。

warning: implicit declaration of function ‘dic_is__name_dao’

未在头文件定义函数;

error: previous declaration of ‘**’ was here

在头文件和.C文件里函数参数不一致导致

undefined reference to “”

这是因为在链接的时候找不到目标函数,具体缺失了文件,可能如下:

链接时缺失了相关目标文件(.o)

链接时缺少相关的库文件(.a/.so)

链接的库文件中又使用了另一个库文件,但是缺失。

多个库文件链接顺序问题

在c++代码中链接c语言的库

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值