广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++中strlen(),sizeof()与size()的区别
  • 891
分享到

C++中strlen(),sizeof()与size()的区别

2024-04-02 19:04:59 891人浏览 安东尼
摘要

目录一、简述二、详细介绍1. strlen()2. sizeof()3. size()三、题目四、代码一、简述 有没有初学 c++ 的小白和我一样,对这几个的区别迷迷糊糊的,傻傻分不

一、简述

有没有初学 c++ 的小白和我一样,对这几个的区别迷迷糊糊的,傻傻分不清。为了正确掌握其使用方法,我在做完下面这道题目后,决定做一个小结。

二、详细介绍

1. strlen()

返回字符串中的字符个数。其格式为 strlen(const char * Str),由此可见,其接受一个 char * 参数。其过程是从字符串的头开始,一直到遇到第一个空字符 ‘\0’ ,且不把空字符计算在内。

2. sizeof()

计算所占字节数。这是一个运算符,括号中可以是数组,类型,对象等。
以一个指针为例:

#include<iOStream>
using namespace std;

int main()
{
    double pi = 3.14;
    double* pt = &pi;
    cout << "sizeof(pt) = " << sizeof(pt);
    cout << ", sizeof(*pt) = " << sizeof(*pt) << endl;

    return 0;
}

pt 是一个指针,而 *pt 是指针 pt 所指向的 double 类型的数 3.14,二者是不一样的。运行上述代码后,结果如下:

sizeof(pt) = 4, sizeof(*pt) = 8

说明指针占用 4 个字节,而 double 占用 8 个字节。

3. size()

返回字符串中的字符个数。其格式为 string_Name.size(),在使用 string 对象时使用。其过程是从字符串的头开始,一直到遇到第一个空字符 ‘\0’ ,且不把空字符计算在内。

三、题目


四、代码

#include<iostream>
#include<array>
#include<string>
using namespace std;

int main()
{
    array<double, 3> grade;
    string string_animal = "cat";
    
    cout << "1st: ";
    cin >> grade[0];
    cout << "2nd: ";
    cin >> grade[1];
    cout << "3th: ";
    cin >> grade[2];

    double time = (grade[0] + grade[1] + grade[2]) / 3;
    cout << "The number is " << sizeof(grade)/sizeof(grade[0]) << ", and grade is " << time << endl;
    cout << "The number of string_animal is " << string_animal.size() << endl;

    return 0;
}

到此这篇关于C++中strlen(),sizeof()与size()的区别的文章就介绍到这了,更多相关C++ strlen(),sizeof()与size()内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C++中strlen(),sizeof()与size()的区别

本文链接: https://www.lsjlt.com/news/150262.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++中strlen(),sizeof()与size()的区别
    目录一、简述二、详细介绍1. strlen()2. sizeof()3. size()三、题目四、代码一、简述 有没有初学 C++ 的小白和我一样,对这几个的区别迷迷糊糊的,傻傻分不...
    99+
    2022-11-13
  • C++中strlen(),sizeof()与size()的区别是什么
    本篇内容介绍了“C++中strlen(),sizeof()与size()的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!详细介绍1...
    99+
    2023-06-30
  • 关于C语言strlen与sizeof区别详情
    目录一.sizeof详解1.sizeof()作用2.sizeof3.sizeof ()4.sizeof()与数组名的关系5.sizeof()返回类型造成的坑二.strlen详解三.s...
    99+
    2022-11-12
  • C语言之sizeof与strlen的使用及区别
    目录1、sizeof与strlen2、short a[100],sizeof(a)返回? 3、下列程序在32位 linux 或 unix 中的结果是什么?4、sizeof与...
    99+
    2022-11-13
  • 浅谈C语言中的sizeof()和strlen()的区别
    目录sizeof()strlen补一个注意事项:sizeof()和strlen()经常会被初学者混淆,但其中有有很大区别: sizeof() 1. sizeof()【操作数所占空间的...
    99+
    2022-11-13
  • c语言中strlen和sizeof有什么区别
    strlen和sizeof都是C语言中常用的函数,但是它们的功能和用途是不同的。1. strlen函数:strlen函数是用来计算字...
    99+
    2023-10-18
    c语言
  • C++中获取字符串长度的函数sizeof()、strlen()、length()、size()详解和区别(推荐)
    目录在C++中计算长度的函数有四种,它们分别是sizeof() ,size(),strlen(),str.length()。一.sizeof()和strlen()两者区别:二.str...
    99+
    2023-02-05
    获取字符串长度的函数sizeof() strlen() length() size() c++ 字符串长度函数
  • C语言中的strlen()和sizeof()怎么使用
    这篇文章主要介绍“C语言中的strlen()和sizeof()怎么使用”,在日常操作中,相信很多人在C语言中的strlen()和sizeof()怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言中的...
    99+
    2023-07-05
  • C语言strlen和sizeof在数组中的使用详解
    目录一、前言二、sizeof在二维数组的试题解读:题解:答案验证:64位平台下:32位平台下:一、前言 前面我们详细讲了sizeof和strlen中的使用,基本涉及了所有一维数组可以...
    99+
    2022-11-12
  • php sizeof与count的区别是什么
    本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑在 PHP 中获取数组长度方法很简单,PHP 为我们提供了两个函数来计算数组的长度,分别是 count() 和 sizeof() 函数。但其实count() 和 siz...
    99+
    2021-03-23
    php sizeof count
  • C语言数组长度的计算方法实例总结(sizeof与strlen)
    目录前言1. 数组的创建2. 求解数组的长度注意:总结:前言 最近在重新学习C语言,学习中发现之前对数组长度的计算方法模糊不清。因此做个总结。 首先要明白什么是数组。 数组是一组相同...
    99+
    2022-11-13
  • PHP中strlen和mb_strlen的区别是什么
    这篇文章给大家介绍PHP中strlen和mb_strlen的区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。先看例子:<php  //测试时文件的编码方式要是UTF8 &nb...
    99+
    2023-06-17
  • C#中Backgroundworker与Thread的区别
    目录1.Backgroundworker2.Thread3.总结最近项目要用到,窗体Form程序要在后台开启几个子线程,负责和其他端进行通信,异步读写,并且来更改UI。在网上查了有B...
    99+
    2022-11-13
  • java与c的区别
    Java和C都是指令式语言(Imperative Language),不同的是Java有面向对象(OO)成分在里面,而C是完全面向过程的,C的高级版本C++、C#支持面向对象。另外一个不同是,Java跨平台,既不同的操作系统都可以通过JVM...
    99+
    2018-11-16
    java入门 java
  • Java与C/C++的区别(转)
    首先应该清楚,Java是由C++发展而来的,它保留了c++的大部分内容,类似于c++,但句法更清晰,规模更小,更易学。它是在对多种程序设计语言进行了深入细致研究的基础上,据弃了其他语言的不足之处,从根本上解决了c++的固有缺陷,而产生的一种...
    99+
    2023-06-03
  • Collection中的size()和isEmpty()区别说明
    目录Collection中的size()和isEmpty()区别说明Collection集合类介绍与实验list.size()和list.isEmpty()区别和效率及Collect...
    99+
    2022-11-13
  • 详解C++ STL vector容量(capacity)和大小(size)的区别
    很多初学者分不清楚 vector 容器的容量(capacity)和大小(size)之间的区别,甚至有人认为它们表达的是一个意思。本节将对 vector 容量和大小各自的含义做一个详细...
    99+
    2022-11-12
  • C++中NULL与nullptr的区别对比
    前言 在编写C程序的时候只看到过NULL,而在C++的编程中,我们可以看到NULL和nullptr两种关键字,其实nullptr是C++11版本中新加入的,它的出现是为了解决NULL...
    99+
    2022-11-12
  • C#中struct与class的区别详解
    目录1.最大的区别2.struct成员无法被声明为protected。3.struct是隐式的sealed类4.struct中无法重载默认构造函数5.关于对象的初始化6.结构体没有析...
    99+
    2022-11-13
  • 浅谈C++中const与constexpr的区别
    目录一.const常量与#define比较二.const修饰1.修饰普通变量,必须初始化2.修饰类变量和成员变量3.修饰成员函数4.修饰指针5.修饰引用三.const转换四.顶层co...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作