IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言中sizeof()和strlen()的区别(详解版) -> 正文阅读

[C++知识库]C语言中sizeof()和strlen()的区别(详解版)

很多小白刚刚接触C语言的时候,总是会混淆sizeof()与strlen()的区别和用法,接下来呢,蔡姐就带小白们深入了解一下这两个东西。

区别

1.sizeof是C语言中的一个单目运算符,用来计算数据类型所占空间的大小,单位为字节;而strlen是一个函数,用来计算字符串长度。

2.sizeof()

#include <stdio.h>
int main()
{//计算各种数据类型所占空间的大小
	printf("int=%d\n",sizeof(int));
	printf("char=%d\n",sizeof(char));
	printf("float=%d\n",sizeof(float));
	printf("double=%d\n",sizeof(double));
	printf("short=%d\n",sizeof(short));
	printf("long=%d\n",sizeof(long));
	printf("long double=%d\n",sizeof(long double));
	return 0;
 } 

另外,我们思考一个问题,指针变量所占空间大小为多少字节呢?(可能有些小白还未涉及到指针)答案是:4个字节;为什么呢?因为指针就是地址呀,所以指针里面放的都是地址,而地址的长度当前是由地址总线的位数决定的,现在的计算机一般都是32位的地址总线,也就是占4个字节

?3.strlen()

是一个函数,需要引用头文件#include <string.h>,求字符串长度,返回计算的字符串的实际长度,即不包括‘\0’在内的实际字符的长度。

若没有引用头文件,将会出现如下警告:

我们插入代码,来看看二者的区别

#include <stdio.h>
#include <string.h>
int main()
{
	char arr1[]="abcd";//d的后面自动补上\0;
	char arr2[]={'a','b','c','d'};//以单个元素赋值,没有\0的结束符
	printf("strlen1=%d\n",strlen(arr1));//strlen()计算\0之前的字符长度
	printf("strlen2=%d\n",strlen(arr2));//该处计算结果应为随机值,因为arr2[]没定义元素个数,就无法知道在哪能遇到\0;
	printf("sizeof1=%d\n",sizeof(arr1));//计算了包含\0的数据空间大小
	printf("sizeof2=%d\n",sizeof(arr2));
	return 0;
 } 

?

?总结摘要:sizeof就是一个计算数据类型所占空间大小的单目运算符,在计算字符串的空间大小时,包含了结束符\0的位置;而strlen是一个计算字符串长度的函数,使用时需要引用头文件#include <string.h>,不包含\0,即计算\0之前的字符串长度。欧耶!

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-13 12:37:21  更:2021-12-13 12:37:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:25:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码