当前位置: 首页 > article >正文

【C++】sizeof()、strlen()、length()\以及size()用法区别

四种函数对比

  • sizeof()
  • strlen()
  • strlen(char*)
  • size()

sizeof()

参数:可以是数组指针类型对象
功能:获得能够保证所能容纳的最大对象的字节数大小(理解为整体的内存空间的大小计算)

strlen()

参数字符类型的指针(char*)
功能:返回字符串的长度,代表该字符串的第一个地址开始遍历,遇到结尾字符返回的长度大小(所存储数据的大小)

strlen(char*)

功能:返回的是字符串的实际长度

size()

功能:可以获得字符串的长度

strlen(str)和str.length()和str.size()都可以求字符串长度
其中str.length()和str.size()是用于求string类对象的成员函数
strlen(str)是用于求字符数组的长度,其参数是char*。

1)char* ss = “0123456789”;
计算字符指针的大小sizeof(ss)为4,ss是指向字符串常量的字符指针,sizeof 获得的是指针所占的空间,则为4
计算字符指针首元素类型大小sizeof(*ss)为1,*ss是第一个char字符,则为1

2)char ss[] = “0123456789”;
计算字符数组的分配内存的空间大小sizeof(ss)为11,ss是数组,计算到’\0’位置,因此是(10+1)
sizeof(*ss)为1,*ss是第一个字符

3)char ss[100] = “0123456789”;
sizeof(ss)为100,ss表示在内存中预分配的大小,100*1
计算字符数组(字符指针)其存储内容所占空间的大小strlen(ss)为10,它的内部实现用一个循环计算字符串的长度,直到’\0’为止。


http://www.kler.cn/news/156301.html

相关文章:

  • 【每日一题】1038. 从二叉搜索树到更大和树-2023.12.4
  • python-GC机制、装饰器、生成器、迭代器、三元表达式、列表生成式、生成器表达式、函数递归、面向对象、
  • 【数据结构】八大排序 (三)
  • 如何精准操作无人机自动停机坪?
  • (c语言进阶)作业讲解
  • Docker pull 命令
  • 网件R8500 trojan
  • 技术前沿丨Teranode如何实现无限扩容
  • 36、红外遥控(外部中断)
  • 数据库事务的隔离级别
  • PyQt实战 创建一个PyQt5项目
  • 【算法】滑动窗口题单——5.多指针滑动窗口⭐
  • LabVIEW通过编程将图形类控件的X轴显示为时间戳
  • easyrecovery2024绿色版中文语言电脑数据恢复工具
  • 网络层之SDN基本概念、路由算法和路由协议
  • java的弱引用、软引用和虚引用
  • Ubuntu Server 20.04.6安装Anaconda3
  • javascript中的过滤操作
  • 11月推荐阅读的12篇大语言模型相关论文
  • 无需服务器,无需魔法,拥有一个微信机器人就是这么简单
  • 数学建模-数据新动能驱动中国经济增长的统计研究-基于数字产业化和产业数字化的经济贡献测度
  • 性能测试常见面试题
  • 网络细节核心笔记
  • Android监听用户的截屏、投屏、录屏行为
  • Google Guava 反射工具使用详解
  • 用纯 CSS 实现网格背景
  • 【Node.js】Node.js环境下载与安装教程(Windows系统)
  • 《系统架构设计师教程(第2版)》第2章-计算机系统基础知识-02-计算软件
  • 34、AD/DA
  • Vue 与 React