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对指针求值时,与机器的字长是相关的。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4981

    文章

    18281

    浏览量

    288399
  • C语言
    +关注

    关注

    180

    文章

    7530

    浏览量

    128526
  • 嵌入式技术
    +关注

    关注

    10

    文章

    349

    浏览量

    34273
  • 字符串
    +关注

    关注

    1

    文章

    551

    浏览量

    20109
  • sizeof
    +关注

    关注

    0

    文章

    9

    浏览量

    6420
收藏 人收藏

    评论

    相关推荐

    strlensizeof的异同

    1,strlen函数作用:用于计算以空字符'\0'结尾的字符串的长度,即字符串中的字符个数,不包括空字符本身。返回值:strlen返回一个size_t类型的值,表示字符串中字符
    的头像 发表于 12-13 08:00 284次阅读
    <b class='flag-5'>strlen</b>和<b class='flag-5'>sizeof</b>的异同

    硬件工程师经典面试题详解

    硬件工程师经典面试题详解
    的头像 发表于 11-20 15:08 750次阅读
    硬件工程师<b class='flag-5'>经典</b><b class='flag-5'>面试题</b>详解

    请问源文件.c和.cpp什么区别呢?

    源文件.c和.cpp什么区别呢?keil里面为什么两种都支持?为什么不只用一种就行了?搞两个同样的话,这不科学啊
    发表于 11-08 07:58

    twi和i2c总线什么区别

    twi和i2c总线什么区别,他们谁是不是兼容谁
    发表于 11-08 07:45

    c语言面试题集(完整版)

    电子发烧友网站提供《c语言面试题集(完整版).pdf》资料免费下载
    发表于 10-20 11:20 1次下载
    c<b class='flag-5'>语言</b><b class='flag-5'>面试题</b>集(完整版)

    mysql经典面试题及答案

    char、varchar的区别是什么? varchar是变长而char的长度是固定的。如果你的内容是固定大小的,你会得到更好的性能。
    的头像 发表于 10-20 09:47 579次阅读
    mysql<b class='flag-5'>经典</b><b class='flag-5'>面试题</b>及答案

    硬件经典面试100题分享

    学电人员必备;硬件经典面试100题;面向电子行业的面试基础问题,提前进入职业的大门
    发表于 09-27 06:23

    linux运维面试题目及答案

    LVS、Nginx、HAproxy有什么区别?工作中你怎么选择? LVS:是基于四层的转发 HAproxy:是基于四层和七层的转发,是专业的代理服务器 Nginx:是WEB服务器,缓存
    发表于 08-20 10:52 582次阅读
    linux运维<b class='flag-5'>面试题</b>目及答案

    TVS管和稳压管有哪些区别

    百度。 一道面试题 照例,先抛出来一道面试题:“TVS管和稳压管有哪些区别?”。其实这算一个开放性问题,没有界定问题的维度、范围,那能说的区别会比较发散。这也造就了不同人给出的答案可能
    的头像 发表于 08-08 09:06 1037次阅读
    TVS管和稳压管有哪些<b class='flag-5'>区别</b>

    常见的嵌入式C语言面试题

    数组是最基本的数据结构,关于数组的面试题也屡见不鲜,本文罗列了一些常见的面试题,仅供参考。目前有以下18道题目。
    发表于 07-18 10:46 589次阅读

    C语言sizeofstrlen区别

    大家好,我是嵌入式老林,从事嵌入式软件开发多年,今天分享的内容是C语言sizeofstrlen区别,希望能对你有所帮助
    发表于 07-11 11:51 353次阅读

    嵌入式C语言试题sizeof(void)

    前两天有同学去做笔试题,遇到了这么一个题目。
    发表于 07-10 15:14 443次阅读

    单片机的C语言里面,个修饰词const,这个词放到变量类型前和后有什么区别吗?

    单片机的C语言里面。个修饰词const,这个词放到变量类型前和后有什么区别吗?我看到网友发的两个贴里有这两个用法,不太懂
    发表于 06-20 08:24

    经典面试题】请使用C语言编程实现对IPV4地址的合法性判断

    经典面试题】请使用C语言编程实现对IPV4地址的合法性判断
    的头像 发表于 05-16 15:23 1131次阅读

    分享10道有趣的嵌入式C语言面试题及答案

    10个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!
    的头像 发表于 05-09 10:54 1699次阅读