小白对于C语言中的字符串和单个字符的结束标志存在疑惑,下面就用strlen这个库函数为大家解除疑惑

#include <stdio.h>
#include "string.h"int main()
{// insert code here...char arr1[] = "abcd";char arr2[] = {'a','b','c','d'};printf("%d\n",strlen(arr1));printf("%d\n",strlen(arr2));return 0;
}

大家可以先猜测一下打印出来的数字

运行结果:

解释:

1、数组arr1中存放的是字符串,最后以‘\0’结尾,strlen是统计‘\0’之前出现的字符个数

2、数组arr2中存放的是单个字符,没有‘\0’结尾,因为strlen是统计‘\0’之前出现的字符个数,所以strlen会一直统计直到找到内存中随机出现的第一个‘\0’,所以打印出来的是随机数

把strlen函数弄清楚之后,有的人可能认为sizeof操作符计算的也是‘\0’之前的字符所占用的内存空间,其实不是,sizeof只关注我存放了的数据所占用的内存空间,对于存放的字符串,因为最后会自动补一个‘\0’,所以‘\0’也占用一个字节的内存块

下面把strlen和sizeof放在一起进行对比

#include <stdio.h>
#include "string.h"int main()
{// insert code here...char arr1[] = "abcd";char arr2[] = {'a','b','c','d'};printf("%d\n",strlen(arr1));printf("%d\n",strlen(arr2));printf("%d\n",sizeof(arr1));printf("%d\n",sizeof(arr2));return 0;
}

运行结果:

(C语言)C语言中的strlen和sizeof相关推荐

  1. C语言中的strlen与sizeof的区别

    sizeof与strlen是有着本质的区别,sizeof是求数据类型所占的空间大小,而strlen是求字符串的长度,字符串以/0结尾.区别如下: (1) sizeof是一个C语言中的一个单目运算符,而 ...

  2. c语言strlen用法,如何使用c语言中的strlen()函数

    c语言中strlen()函数的用法是:[strlen(const char *str)].该函数用于计算字符串的长度,直到空结束字符,但不包括结束字符,并返回字符串的长度. 函数介绍: (推荐教程:c ...

  3. 8位alu运算器(vhdl语言)_C语言中signed char类型,能表示-128到127,为什么负数多一位?...

    初学者在学习C语言,谈到不同数据类型时,一般都能理解 unsigned 和 signed 的区别,无非就是有无符号而已.但是对于 signed 数据类型的数据范围,初学者却常常会感到迷惑. 对于 si ...

  4. c语言memcopy_C语言中memcpy 函数的用法详解

    C语言中memcpy 函数的用法详解 memcpy(内存拷贝函数) c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址 ...

  5. 函数用法r语言_R语言中的apply函数族

    前言 apply函数族是R语言中数据处理的一组核心函数,通过使用apply函数,我们可以实现对数据的循环.分组.过滤.类型控制等操作.但是,由于在R语言中apply函数与其他语言循环体的处理思路是完全 ...

  6. table是什么函数c语言,c语言中table的用法

    c语言中table的用法 c语言中table的用法的用法如下:1 说明1.1 RECORD定义记录数据类型. 它类似于C语言中的结构数据类型(STRUCTURE),PL/SQL提供了将几个相关的.分离 ...

  7. map函数作用c语言,c语言中map的用法:map基本用法

    c++中map容器提供一个键值对容器,那么你知道map的用法有哪些吗,下面秋天网 Qiutian.ZqNF.Com小编就跟你们详细介绍下c语言中map的用法,希望对你们有用. c语言中map的用法:m ...

  8. sleep函数的作用c语言,C语言中的sleep函数是什么意思【详细介绍】

    计算机知识:C语言中的Slee函数 Sleep函数简介: 函数名: sleep 功 能: 执行挂起一段时间 用 法: unsigned sleep(unsigned milliseconds); 在V ...

  9. div c语言,c语言中的div的用法是什么?

    c语言中的div的用法: 函数名: div 功 能: 将两个整数相除, 返回商和余数 用 法: div_t (int number, int denom); 程序例: # include #inclu ...

最新文章

  1. Qt Dll总结——链接库预备知识(转载)
  2. EventBank闪耀企业服务 荣获“2017中国企业服务云年度产品”奖
  3. 浅谈mysql的子查询
  4. Jzoj5317 Func
  5. java实现下载时进度条提示
  6. 使用AIR运行另外的程序。
  7. asp.net架构之请求处理过程:HttpModule,HttpHandler
  8. 会议报到和撒离时间算会期_【NKMUN2021】城市会议新模式:让心动成为可能
  9. cocos2dx 3.0研究(1)-- hello world程序
  10. System.setOut 重定向 memcached 的输出
  11. Task5.NB_SVM_LDA
  12. Linux下安装jdk报Permission denied以及chmod详解
  13. 教你电脑休眠如何取消
  14. 7-1 对象数组 (100 分)
  15. 压电雨量传感器不堵不粘维护简单的设计结构
  16. C/C++中CRT表示什么意思?
  17. 区块链前景分析和学习建议
  18. 在Fedora上安装NVIDIA驱动详细教程及解析
  19. 1048 数字加密 (20分)
  20. [渝粤教育] 广东-国家-开放大学 21秋期末考试中国法律史10212k1

热门文章

  1. 数据仓库物理模型设计规范整理
  2. 精通python爬虫框架scrapy免费_精通Python爬虫框架Scrapy
  3. 解决mac电脑上的浏览器和应用Trello无法登陆的问题
  4. mysql支持关系模型中哪些完整性约束_数据完整性约束(1)——实体完整性、参照完整性...
  5. P4 连续随机变量的贝叶斯滤波
  6. 1.3数据库系统结构及组成(三级模式结构)
  7. c语言的星球大战你一定没看过
  8. 一、【回顾篇】linux基础、C语言、数据结构回顾
  9. 不想穷一辈子的人可以看下
  10. 【Qt+FFmpeg】FFmpeg解码本地视频流程