strlen与sizeof区别

qyuwwsstrlen

strlen是函数,头文件为#include<string.h>,是求字符串长度!

sizeof

sizeof不是函数,是关键字,求类型的字节长度!

区别

strlen遇见'\0'停止,而sizeof求长度的时候会将'\0'当成一个字符来计算!接下来我们用代码来表达它俩的区别!

int main()
{
	char* ch1 = "abcde";//字符串 字符串末尾自动生成一个'\0'字符
	char ch2[] = "abcde";//字符串数组 是将字符串赋值给数组
	char ch3[] = { "abcde" };//ch3是ch2的另一种表达形式
	int len1 = strlen(ch1);
	int len2 = strlen(ch2);
	int len3 = strlen(ch3);
	printf("%d %d %d", len1, len2, len3);
	return 0;
}

运行结果:

如果是sizeof的话:

int main()
{
	char* ch1 = "abcde";//字符串 字符串末尾自动生成一个'\0'字符
	char ch2[] = "abcde";//字符串数组 是将字符串赋值给数组
	char ch3[] = { "abcde" };//ch3是ch2的另一种表达形式
	//int len1 = strlen(ch1);
	//int len2 = strlen(ch2);
	//int len3 = strlen(ch3);
	int sz = sizeof(ch2) / sizeof(ch2[0]);
	printf("%d", sz);
	//printf("%d %d %d", len1, len2, len3);
	return 0;
}

 运行结果:

为什么sizeof会比strlen多一个呢?因为字符串是包含最后一个字符'\0'.

其他情况:

上面可知,strlen是遇见'\0'停止,所以我们看接下来的代码!

 此时strlen求出的便是随机值 但是sizeof求出的便是真正的长度!

如果在ch的末尾加上一个'\0'字符 结果就是预期的结果!

 

如果懂的话,请 大家给我点赞支持一下吧!

 

lose_rose777
关注 关注
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
strlensizeof区别
c+c++的博客
02-26 5740
在了解strlensizeof区别之前,先来了解下字符数组: char a[] = {‘C’,’+’,’+’,};//不含空字符’\0’。 char a1[] = {‘C’,’+’,’+’,’\0’};//显式包含空字符’\0’。 char a2[] = “C++”; //自动添加 ‘\0’字符串结束的空字符 a1=a2。 char a3[4] = “C++”;//错误,没有空间存放空字符’...
strlensizeof区别
热门推荐
小小码农
04-05 2万+
strlensizeof区别
C语言strlensizeof区别
川子767的博客
10-26 1万+
C语言中,strlensizeof使用时的区别和使用方法
strlensizeof 详解
m0_70572045的博客
03-15 2119
strlen函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个'\0',如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到'\0'停止。4. 使用sizeof获取数组的长度时,返回的是整个数组所占用的字节数,而使用strlen获取字符串的长度时,返回的是字符串中非空字符的个数。3. sizeof返回的是一个数据类型或变量所占用的字节数,而strlen返回的是字符串的长度,即字符数组中非空字符的个数。5. sizeof是在编译时计算的,而strlen是在运行时计算的。
C语言strlensizeof区别
weixin_44575952的博客
04-11 1412
演示代码 代码如下,以代码阐述他们的用法,并展示实验结果,并对实验结果进行解析。 #include<stdio.h> #include <stdlib.h> #include<string.h> #include <conio.h> #include <dos.h> int main() { char *p = "Wenbin"; char arr[128] = "Meet you"; char arr2[] = "Love you"
strlensizeof区别(转载)
weixin_30610755的博客
07-21 106
#include "stdio.h"#include "string.h" void main(){ char aa[10];printf("%d",strlen(aa));printf("%d",sizeof(aa));} 程序运行得到结果是strlen(aa)=15.sizeof(aa)=10;这是怎么回事呢?strlen是有效字符串的长度,不包含‘\0’,与初始化有关系,而...
strlensizeof区别(常见)
m0_72563026的博客
09-18 220
strlensizeof区别
C语言sizeofstrlen区别
mantouyouyou的博客
02-11 9106
C语言sizeofstrlen 区别 一.本质区别 sizeofstrlen 有本质上的区别sizeof 是C 语言的一种单目运算符,如++、–等,并不是函数,sizeof 的优先级为2 级,比/、% 等3 级运算符优先级高,sizeof 以字节的形式给出操作数的存储空间的大小。而 strlen 是一个函数,是由 C 语言 的标准库提供的。strlen 计算的 是字符串的长度。 二.使用区别 1.sizeof sizeof 的操作数可以是数据类型、函数、变量,表达式使用方式为: (1)数据类型
sizeofstrlen区别
07-22
### sizeofstrlen区别详解 #### 一、概述 在C/C++编程语言中,`sizeof`和`strlen`是两个非常重要的概念,它们都用于获取有关数据的信息,但各自的作用和应用场景有所不同。本文将详细介绍这两个操作符/函数的...
strlensizeof区别和代码示例
01-12
在实际编程中,理解`strlen`和`sizeof`的区别至关重要,因为错误地使用它们可能导致程序行为不符合预期。例如,如果你需要获取字符串的实际字符数量(不包括`\0`),应使用`strlen`;而如果你需要知道内存中分配了...
区别strlensizeof
01-12
strlensizeof区别
简述sizeofstrlen区别
Kay_Blake的博客
08-18 828
如何快速区分strlensizeof
C++】 —— string的使用
LH__1314的博客
09-16 1486
string类虽然不在STL的容器中,但string类十分重要,string类是对字符串的存储和相关操作。
标准C++(二)
m0_63127040的博客
09-18 870
C语言中定义的全局变量、函数、结构、联合、枚举、枚举值、宏都在全局作用域下,所以当项目比较庞大时,非常容易造成命名冲突(以模块名作前缀、后缀),所以C++中选择把全局作用域进行拆分成子作用域进行管理,这些子作用域就是作名字空间。把抽象结果(利用面向对象的思维模式,思考、观察出的结果),使用用C++的语法封装出一种类似结构的自定义数据类型(复合数据类型)。使用设计好的类(结构)这种数据类型,定义出的类变量在面向对象编程语言中被称为对象(结构变量),创建类对象的行为也被称为实例化对象。int id;
C++_map_set详解
2302_77644537的博客
09-16 1064
set是按照一定次序存储元素的容器在set中,元素的value也标识它(value就是key,类型为T),并且每个value必须是唯一的。set中的元素不能在容器中修改(元素总是const),但是可以从容器中插入或删除它们。在内部,set中的元素总是按照其内部比较对象(类型比较)所指示的特定严格的排序准则(默认是小于)进行排序。set在底层是用二叉搜索树(红黑树)实现的。map是关联容器,它按照特定的次序(按照key来比较)存储由键值key和值value组合而成的元素。
TMS Scripter Crack TMS Scripter is a Delphi C++ Builder
q2315702359的博客
09-19 1040
  The integrated development environment or the IDE allows the users in process of creating script jobs during the runtime with the help of multiple cross-language scripts such as de Pascal and the Basics.  It has support for the cross-utilization of the s
C++ 解析 RDP 协议
最新发布
道亦无名
09-22 169
远程桌面协议(Remote Desktop Protocol, RDP)是微软开发的一种网络通信协议,用于提供远程桌面会话服务。它允许用户通过网络连接至远程计算机,并像使用本地计算机一样操作远程系统。本文档将详细探讨在C++环境中如何解析RDP协议,涵盖协议层次解析、连接过程管理、数据加密解密、功能数据处理、错误与异常处理以及协议版本适配等方面。
在typescript浏览器端中调用C++编写的函数,WebAssembly传递指针类型的参数,以及处理指针类型的返回值。
Xeon_CC的博客
09-17 468
最后是返回一个C++结构体指针,在TypeScript中通过DataView来获取内存中的地址偏移量来取得结构体中的数据,因为em++编译器是以32位来编译.cpp文件的,所以指针占4个字节。DataResult结构体第一个属性dArr是一个指针,那么就是地址偏移量0,然后以32位无符号整型取得dArr指针,通过这个指针去读取wasm中memoryBuffer中的数据,就可以得到dArr属性对应的值了。同理,通过地址偏移量+4来得到propCount属性,以32位整数读取数据即可。
C++strlensizeof区别详解
"strlensizeof区别和联系" 在编程中,`strlen` 和 `sizeof` 都是用来获取数据大小的工具,但它们有着本质的区别。理解这些差异对于编写高效且无误的代码至关重要。 1. `sizeof` 是 C/C++ 中的一个操作符,返回...
写文章

热门文章

  • 二叉树遍历方法——前、中、后序遍历(java) 49017
  • 关于数据库的最常见的十道面试题 48252
  • 六大排序——(插入、希尔、选择、交换、归并、计数) 45085
  • 关于Spring的最常见的十道面试题 44619
  • 乐观锁的底层实现以及如何解决ABA问题 43982

分类专栏

  • 面试题 52篇
  • Redis 7篇
  • 消息队列 9篇
  • Spring 5篇
  • 网络 2篇
  • 错误 4篇
  • 经验分享 2篇
  • Mongodb 1篇
  • 函数 3篇
  • qsort 2篇
  • 数据结构 1篇
  • 蓝桥杯 1篇
  • 辗转相除法 1篇

最新评论

  • 关于Redis的最常见的十道面试题

    jackleeonlyone: “再”在进入下层链表查找提取多层关键节点

  • 关于Redis的最常见的十道面试题

    jackleeonlyone: 提取出链表中的关键姐点,改下错别字

  • 【全网最详细】如何保证缓存和数据库一致性

    m2on: A删除缓存,B读取数据库,A写入数据库,B写入缓存。内存是B,数据库是A

  • HTTP协议(超级详细)

    明 日 香: 优质好文,博主的文章细节到位,内容干货很多,感谢博主的分享,期待博主持续带来更多好文。

  • 【全网最详细】如何保证缓存和数据库一致性

    weixin_45897442: 先更新缓存在更新数据库,怎么引发并发问题的

最新文章

  • 【框架】Spring、SpringBoot和SpringCloud区别
  • 【面试题】如何合理的设置线程池中的参数
  • 关于es的一个多集群、多索引切换的实现
2024
09月 6篇
08月 5篇
07月 6篇
06月 3篇
05月 1篇
04月 3篇
03月 6篇
02月 21篇
01月 25篇
2023年33篇
2022年10篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lose_rose777

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

天下网标王优化网站排名多少钱郑州网站权重优化多少钱一个月优化网站的公司哪家好技术好的百度seo网站优化山东网站优化多少钱增城企业网站优化推广怎么做最好淄博优化网站排名南川网站优化三明网站seo优化团队网站建设公司网站排名优化深圳南区网站seo优化排名优化网站标题的意义太原卫浴行业网站优化推广舟山无锡网站优化政府网站怎么优化教育行业网站优化引流保定整站网站优化公司重庆网站优化内容安阳搜索引擎网站优化哪家便宜金堂县网站seo优化排名优化公司网站截止易速达网站核心的优化普陀区网站优化价格费用乌兰察布网站优化公司天河网站推广优化教程怀柔企业网站关键词优化武汉谷歌网站优化南充网站制作优化东莞网站优化托管公司池州网站整站优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化