【C语言经典面试题】sizeof与strlen有什么区别?
这道经典的面试题,我来跟你一起聊一聊。
1 面试原题
**根据你对C语言的掌握情况,请简要描述下 **sizeof 和 strlen 的区别。
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求值;其值为:
通过运行结果,我们可以知道,两者是不一样的。
4 总结
- strlen一般用于对字符串求长度,且不包括'\\0'字符;
- sizeof一般用于对变量和符号求内存大小;
- 两者是有本质区别的;还有一个注意点就是:sizeof对指针求值时,与机器的字长是相关的。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
嵌入式
+关注
关注
5083文章
19131浏览量
305495 -
C语言
+关注
关注
180文章
7605浏览量
136906 -
嵌入式技术
+关注
关注
10文章
360浏览量
35992 -
字符串
+关注
关注
1文章
579浏览量
20529 -
sizeof
+关注
关注
0文章
9浏览量
6439
发布评论请先 登录
相关推荐
【面试题】人工智能工程师高频面试题汇总:机器学习深化篇(题目+答案)
,或者深度学习的框架,还有怎么优化模型,这些都是加分项,能有效提高面试通过率。本篇小编整理了一些高频的机器学习深化方面的面试题,这些题目都是从实际面试中总结出来的,非
【面试题】人工智能工程师高频面试题汇总:Transformer篇(题目+答案)
随着人工智能技术的突飞猛进,AI工程师成为了众多求职者梦寐以求的职业。想要拿下这份工作,面试的时候得展示出你不仅技术过硬,还得能解决问题。所以,提前准备一些面试常问的问题,比如机器学习的那些算法
人工智能工程师高频面试题汇总——机器学习篇
,或者深度学习的框架,还有怎么优化模型,这些都是加分项,能有效提高面试通过率。本篇小编整理了一些高频的机器学习方面的面试题,这些题目都是从实际面试中总结出来的,非常具
同样是函数,在C和C++中有什么区别
同样是函数,在 C 和 C++ 中有什么区别? 第一个返回值。 C语言的函数可以不写返回值类型,编译器会默认为返回 int。 但是
PLC编程语言和C语言的区别
在工业自动化和计算机编程领域中,PLC(可编程逻辑控制器)编程语言和C语言各自扮演着重要的角色。尽管两者都是编程语言,但它们在多个方面存在显著的区别
plc编程语言与c语言的联系 c语言和PLC有什么区别
语言,主要用于开发各种应用程序。尽管PLC编程语言和C语言有一些相似之处,但它们之间也存在一些明显的区别
评论