关于strlen()和sizeof()使用中遇到的问题总结

 我来答
完满且闲雅灬抹香鲸P
2022-07-01 · TA获得超过1.7万个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:72.6万
展开全部
1:请慎用strlen()这个函数。

答:曾经把一个char[]数组赋值给了char* 变量,然后strlen()这个char*变量。返回发现得到的长度超过真实的字符数组长度了。官方文档中介绍strlen()这个函数。他会开始遍历字符指针,直到遇到\0.所以当你不能明确知道你操作的字符数组结尾是\0的话,请谨慎使用strlen()这个函数。

2:请慎用sizeof()这个操作符。

答:曾经在一个文件中定义了char[]数组,然后其他其他文件中引用,引用时用到了extern关键字,然后用sizeof()这个操作符想获取char[]字符数组的真实长度。发现报错。因为sizeof()是在编译阶段无法获取char[]真是的长度。然后想到一个简单的办法,就是定义一个结构体,里面包含cha[]数组,和len,就是字符数组的长度。就可以很好的解决这个问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式