完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我尝试使用soizof函数并得到一个错误:Get error:error:sizeof对不完整类型“char[]”的无效应用。所以,改为:Nogeterror:error:expect..'],tokenComments欢迎。
|
|
相关推荐
14个回答
|
|
|
回溯一下,你为什么需要sieof?难道你不能只使用STRLLN或自己检测null终止符吗?
|
|
|
|
|
|
好吧,出于兴趣……打破nop-(),大小回到6。使用效果好吗?
|
|
|
|
|
|
不可能给出全面的答案。你没有透露你想要的东西。
|
|
|
|
|
|
不可能给出全面的答案。你没有透露你想要什么大小。是的,通常情况下,我倾向于认为strlen会返回字符数,即“cinzia”的6,而sizeof会返回7,因为它会考虑终结者……
|
|
|
|
|
|
不可能给出全面的答案。您没有透露您想要sizeof的用途。我使用sizeof进行字符串比较:我已经从旧的8位PIC复制了sizeof。将sizeof交换到strlen很容易,只是对为什么它更好感兴趣。*实际上,在我的例子中,sizeof更好,因为也检查/比较空值。
|
|
|
|
|
|
咯咯地笑你的打字错误暗示了澳大利亚人惯用的说法“sizeof”(来源:am.n)。正如你在后面的文章中披露的,你在一个与数组定义不同的C源文件中使用sizeof。在这种情况下,编译器无法判断数组遇到sisiof运算符时的大小。要找到数组的大小,您必须调用STARLUNE(),并为NUL终止符添加1。
|
|
|
|
|
|
size of的结果在编译时计算为一个常数,因此编译器必须知道它的大小(这就是为什么代码没有编译),除非更改它计算的数据,否则永远不会改变,并且不特定于任何数据类型(使用整数、字符串、数组或结构)。strlen的结果是在运行时计算的,并且是特定于字符串的,它计数的字符数一直到空结束,因为可以想象,strlen每次调用时都必须计数(除非编译器优化了结果),所以strlen的速度比较慢,并且大多数时间可以通过使用ng一个char*指针,并在循环中检查空终止(例如,当您必须向串行端口发送字符串时)。如果字符串大小不同,请考虑空终止符。希望XC16完全如此(我更习惯于GCC)。谢谢。我打算修复字符串,sizeof将在编译时修复,并且(理论上)运行得更快。但是,我刚刚将一些字符串设置为“const char”,现在代码的另一部分出现了错误。可以。但是下面返回一个警告(警告:赋值会从指针目标类型中丢弃限定符)使其为常量,现在在RAM中引起问题。
|
|
|
|
|
|
只是一个观察,XC16是GCC。
|
|
|
|
|
|
如果使用大小来比较字符串,则没有什么区别,因为比较函数必须遍历字符串(当然,直到第一个不同的字符)。你必须把它分配给一个conchar。在这种情况下,Const意味着您不能修改它所指向的内存,而不是不能递增/递减等。如果查看函数原型,您会发现,当函数不改变内容时,指针的大部分时间都被定义为const。C. Ah,好吧,我没有意识到这一点。
|
|
|
|
|
|
SIZEOF工作良好,没有尺寸,只要初始化器是可见的。打印16。
|
|
|
|
|
|
当涉及到strlen vs sizeof时,不要让我开始使用unicode字符(并不是说这些编译器可用于许多编译器)。苏珊
|
|
|
|
|
|
是的,我的意思是:
|
|
|
|
|
|
苏珊,谢谢你的答复。碰巧,我想比较null,因为它是消息的明确结尾。如果:Rxmessage[]="Command_12345"CompareStr[]="Command_1234",则比较(和与strlen比较)会错误地接受命令。但是对于null:Rxmessage[]="Command_12345"CompareStr[]="“命令比较”(和SIZEOF)将不接受该命令。
|
|
|
|
|
|
只需使用StrucMp(),也可以像你所描述的那样工作。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475 浏览 0 评论
5794 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1125浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1098浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
873浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 17:37 , Processed in 1.034521 second(s), Total 98, Slave 81 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2338