嵌入式-C语言基础:字符串strlen和sizeof的区别
strlen表示的实际的字符串长度,不会把字符串结束符'\0'计算进去,而sizeof则不是实际的字符串长度,它会把字符串的结束标识符'\0'也包含进去。
#include<stdio.h> int main()
{
char cdata1[125]="hello";
int len1=strlen(cdata1);
char cdata2[]="hello";
int len2=strlen(cdata2);
printf("cdata1实际长度=%d\n",len1);
printf("cdata2实际长度=%d\n",len2);
len1=sizeof(cdata1);
len2=sizeof(cdata1);
printf("cdata1长度=%d\n",len1);
printf("cdata2长度=%d\n",len2);
return 0;
}
输出结果:
cdata1实际长度=5
cdata2实际长度=5
cdata1长度=125
cdata2长度=125
嵌入式-C语言基础:字符串strlen和sizeof的区别的更多相关文章
- C语言——strlen()和sizeof的区别
strlen()和sizeof()的区别: strlen()——>C字符串库函数,返回字符串的真实长度.它是从内存某位置开始扫描,直到碰到结束符'\0'停止,返回计数器值. sizeof()—— ...
- 函数strlen()和sizeof的区别
函数strlen()和sizeof的区别: #include<stdio.h> #include<stdlib.h> #include<string.h> #def ...
- c语言中:strlen和sizeof的区别和它们分别交换各自作用领域(\0问题)时的细微差别!!!
本人c语言初学菜鸟一枚,今天通过敲了一段简单代码,发现strlen和sizeof之间的一些关系,总结如下: 用strlen计算数组长度要考虑进去\0 用sizeof计算字符串长度也要考虑进去\0 而s ...
- 嵌入式-C语言基础:字符串比较函数strcmp及其实现
#include<stdio.h> #include <string.h> int mystrcmp(char * p1,char * p2) { int ret=0; if( ...
- 嵌入式-C语言基础:字符串拼接函数strcat
#include<stdio.h> #include <string.h> //实现字符串拼接 char * mystrcat(char * dest,char * src) ...
- 嵌入式-C语言基础:实现字符串拷贝函数
自己实现一个字符串的拷贝函数 #include<stdio.h> #include<stdlib.h> #include <string.h> char * mys ...
- 嵌入式-C语言基础:字符串结束标识符
#include<stdio.h> int main() { char cdata[]={'h','e','l','l','o'}; char cdata2[]="hello&q ...
- 嵌入式-C语言基础:联合体和共用体的概念
有时候同一块内存空间存放类型不同,不同类型的变量共享一块空间. 结构体和共用体的区别: (1)结构体元素有各自单独空间,共用体元素共享空间,空间大小由最大类型确定. (2)结构体元素互不影响共用体赋值 ...
- 嵌入式-C语言基础:malloc动态开辟内存空间
#include<stdio.h> #include<stdlib.h> int main() { // char *p;//定义一个野指针:没有让它指向一个变量的地址 // ...
随机推荐
- kubeadm部署k8s v1.19.4版本集群
1. 准备2台2c4g虚机 配置地址192.168.198.144,192.168.198.146,一台作为master,一台作为node 2. 部署环境准备,每一台虚机都需要操作 # 关闭防火墙sy ...
- DataGridVIew控件绑定数据之后的,增、插、删操作
最开始没有绑定数据,很快就实现了增.插.删操作,可是绑定数据之后,进行这些操作就会报错. 网上对这方面的资料比较少,自己摸索着找到了解决方法,也就是直接对绑定的数据进行操作,这里以DataTable为 ...
- .NET 7 性能改进 -- 至今为止最快的.NET平台
2022年8月31日 Stephen Toub 发布的关于 .NET 7 性能改进的博客, 核心主题是 .NET 7 速度很快. 这篇博客非常的长,我尝试将它拷贝到Word 里,拷贝的时间都花了几分钟 ...
- KingbaseES rownum 与 limit 的 执行计划区别
数据准备 --创建基础数据表100W行 create table test07 as select * from (select generate_series(1, 1000000) id, (ra ...
- C# Parallel类For循环与普通For循环耗时性能比较
1 static void Main(string[] args) 2 { 3 var dt = DateTime.Now; 4 var rand = new Random(DateTime.Now. ...
- 一文搞懂mysql索引底层逻辑,干货满满!
一.什么是索引 在mysql中,索引是一种特殊的数据库结构,由数据表中的一列或多列组合而成,可以用来快速查询数据表中有某一特定值的记录.通过索引,查询数据时不用读完记录的所有信息,而只是查询索引列即可 ...
- nginx反向代理单独的java项目配置示例
# jar包封装成docker镜像启动 docker run -d -v /var/log/xxx:/var/log/xxx --restart=always --network host --nam ...
- Kubernetes Operator: Operator
Operator 就可以看成是 CRD 和 Controller 的一种组合特例,Operator 是一种思想,它结合了特定领域知识并通过 CRD 机制扩展了 Kubernetes API 资源,使用 ...
- Elasticsearch: Cerebro 用户界面介绍
- C++自学笔记 面向对象程序设计OOP(Object Oriented Programming)
什么是对象? Objects = Attributes + Services Data : The properties or status Operations: the fuctions C语言中 ...