0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【C语言经典面试题】sizeof与strlen有什么区别?

嵌入式物联网开发 来源:嵌入式物联网开发 作者:嵌入式物联网开发 2022-10-05 16:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

C语言经典面试题】sizeof与strlen有什么区别?

这道经典的面试题,我来跟你一起聊一聊。

1 面试原题

**根据你对C语言的掌握情况,请简要描述下 **sizeofstrlen 的区别。

2 知识点剖析

在C语言中,sizeof用于求一个变量或符号的内存空间大小,而strlen一般用于求一个字符串的长度,且这个长度是不包括 '\\0'的。

3 示例代码

为此,我写了一段测试代码:

#include 
#include int main(int argc, const char *argv[])
{
char *p = "123456";
​
printf("sizeof(p) = %d\\n", sizeof(p));
printf("strlen(p) = %d\\n", strlen(p));
​
return 0;
}

很简单,定义了一个字符串,分别使用strlen和sizeof求值;其值为:

image-20220930221317250

通过运行结果,我们可以知道,两者是不一样的。

4 总结

  • strlen一般用于对字符串求长度,且不包括'\\0'字符;
  • sizeof一般用于对变量和符号求内存大小;
  • 两者是有本质区别的;还有一个注意点就是:sizeof对指针求值时,与机器的字长是相关的。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5209

    文章

    20629

    浏览量

    336796
  • C语言
    +关注

    关注

    183

    文章

    7646

    浏览量

    146113
  • 嵌入式技术
    +关注

    关注

    10

    文章

    367

    浏览量

    43559
  • 字符串
    +关注

    关注

    1

    文章

    596

    浏览量

    23210
  • sizeof
    +关注

    关注

    0

    文章

    9

    浏览量

    6620
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Boost、Buck-Boost、Sepic拓扑什么区别

    工程师们在做电源设计时经常会有升压的需求,而常用的Boost、Buck-Boost、Sepic拓扑均可实现升压。这些拓扑什么区别,该选哪个呢?
    的头像 发表于 04-11 14:14 953次阅读
    Boost、Buck-Boost、Sepic拓扑<b class='flag-5'>有</b><b class='flag-5'>什么区别</b>

    行星减速机与齿轮减速机什么区别

    行星减速机与齿轮减速机什么区别
    的头像 发表于 01-04 16:30 1783次阅读
    行星减速机与齿轮减速机<b class='flag-5'>有</b><b class='flag-5'>什么区别</b>?

    C语言C++的区别及联系

    缺点:性能比面向过程低。 二、具体语言上的区别 1、关键字的不同 C语言32个关键字;C
    发表于 12-24 07:23

    武汉芯源MCU和英飞凌MCU什么区别

    武汉芯源MCU和英飞凌MCU什么区别
    发表于 12-11 06:26

    请问jtag和jlink什么区别啊?

    jtag和jlink什么区别啊?
    发表于 11-28 06:46

    C语言和单片机C语言什么差异

    区别是由编译器决的,只能参考对应的编译手册,即使同种平台不同的编译器对C的扩展也有不同。 3、单片机c语言编程是基于C
    发表于 11-14 07:55

    微波雷达和毫米波雷达什么区别

    微波雷达和毫米波雷达什么区别 前言:不知道大家有没有发现,各种雷达模块的使用开始逐渐加入各种智能家居产品了,像人来灯亮,人走灯灭这种雷达感应的产品早几年就开始进入市场了,还有各种感应开关等产品
    的头像 发表于 10-30 16:56 2231次阅读
    微波雷达和毫米波雷达<b class='flag-5'>有</b><b class='flag-5'>什么区别</b>

    人工智能工程师高频面试题汇总:循环神经网络篇(题目+答案)

    后台私信雯雯老师,备注:循环神经网络,领取更多相关面试题随着人工智能技术的突飞猛进,AI工程师成为了众多求职者梦寐以求的职业。想要拿下这份工作,面试的时候得展示出你不仅技术过硬,还得能解决问题。所以
    的头像 发表于 10-17 16:36 842次阅读
    人工智能工程师高频<b class='flag-5'>面试题</b>汇总:循环神经网络篇(题目+答案)

    用30道电子工程师面试题来拷问堕落的你...

    今天用30道电子工程师面试题来拷问堕落的你,你能扛住第几题?1、下面是一些基本的数字电路知识问题,请简要回答之。(1)什么是Setup和Hold时间?答:Setup/HoldTime用于测试芯片
    的头像 发表于 10-15 17:37 1339次阅读
    用30道电子工程师<b class='flag-5'>面试题</b>来拷问堕落的你...

    Re-Driver 和 Re-Timer 什么区别

    Re-Driver 和 Re-Timer 什么区别
    发表于 08-21 06:14

    使用ICP编程工具进行离线编程设置时,启用“使用密码”什么区别

    使用ICP编程工具进行离线编程设置时,启用“使用密码”什么区别
    发表于 08-19 06:04

    请问ST7701和ST7701S什么区别吗?

    ST7701和ST7701S什么区别
    发表于 07-22 08:16

    CY7C65214和CY7C65211/3/5什么区别

    CY7C65214 和其他 USB 串行桥接控制器之间什么区别:CY7C65211、CY7C65213 和 CY7
    发表于 05-29 06:49

    【硬件方向】名企面试笔试真题:大疆创新校园招聘笔试题

    名企面试笔试真题:大疆创新校园招聘笔试题-硬件 是几年前的题目,不过值得参考一下哦 纯分享贴,需要可以直接下载附件获取完整资料! (如果内容帮助可以关注、点赞、评论支持一下哦~
    发表于 05-16 17:31

    硬件工程师面试必看试题(经典)

    硬件工程师面试试题 模拟电路 1、基尔霍夫定理的内容是什么?(仕兰微电子) 2、平板电容公式(C=εS/4πkd)。(未知) 3、最基本的如三极管曲线特性。(未知) 4、描述反馈电路的概念
    发表于 04-21 15:36