(C语言)C语言中的strlen和sizeof
小白对于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相关推荐
- C语言中的strlen与sizeof的区别
sizeof与strlen是有着本质的区别,sizeof是求数据类型所占的空间大小,而strlen是求字符串的长度,字符串以/0结尾.区别如下: (1) sizeof是一个C语言中的一个单目运算符,而 ...
- c语言strlen用法,如何使用c语言中的strlen()函数
c语言中strlen()函数的用法是:[strlen(const char *str)].该函数用于计算字符串的长度,直到空结束字符,但不包括结束字符,并返回字符串的长度. 函数介绍: (推荐教程:c ...
- 8位alu运算器(vhdl语言)_C语言中signed char类型,能表示-128到127,为什么负数多一位?...
初学者在学习C语言,谈到不同数据类型时,一般都能理解 unsigned 和 signed 的区别,无非就是有无符号而已.但是对于 signed 数据类型的数据范围,初学者却常常会感到迷惑. 对于 si ...
- c语言memcopy_C语言中memcpy 函数的用法详解
C语言中memcpy 函数的用法详解 memcpy(内存拷贝函数) c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址 ...
- 函数用法r语言_R语言中的apply函数族
前言 apply函数族是R语言中数据处理的一组核心函数,通过使用apply函数,我们可以实现对数据的循环.分组.过滤.类型控制等操作.但是,由于在R语言中apply函数与其他语言循环体的处理思路是完全 ...
- table是什么函数c语言,c语言中table的用法
c语言中table的用法 c语言中table的用法的用法如下:1 说明1.1 RECORD定义记录数据类型. 它类似于C语言中的结构数据类型(STRUCTURE),PL/SQL提供了将几个相关的.分离 ...
- map函数作用c语言,c语言中map的用法:map基本用法
c++中map容器提供一个键值对容器,那么你知道map的用法有哪些吗,下面秋天网 Qiutian.ZqNF.Com小编就跟你们详细介绍下c语言中map的用法,希望对你们有用. c语言中map的用法:m ...
- sleep函数的作用c语言,C语言中的sleep函数是什么意思【详细介绍】
计算机知识:C语言中的Slee函数 Sleep函数简介: 函数名: sleep 功 能: 执行挂起一段时间 用 法: unsigned sleep(unsigned milliseconds); 在V ...
- div c语言,c语言中的div的用法是什么?
c语言中的div的用法: 函数名: div 功 能: 将两个整数相除, 返回商和余数 用 法: div_t (int number, int denom); 程序例: # include #inclu ...
最新文章
- Qt Dll总结——链接库预备知识(转载)
- EventBank闪耀企业服务 荣获“2017中国企业服务云年度产品”奖
- 浅谈mysql的子查询
- Jzoj5317 Func
- java实现下载时进度条提示
- 使用AIR运行另外的程序。
- asp.net架构之请求处理过程:HttpModule,HttpHandler
- 会议报到和撒离时间算会期_【NKMUN2021】城市会议新模式:让心动成为可能
- cocos2dx 3.0研究(1)-- hello world程序
- System.setOut 重定向 memcached 的输出
- Task5.NB_SVM_LDA
- Linux下安装jdk报Permission denied以及chmod详解
- 教你电脑休眠如何取消
- 7-1 对象数组 (100 分)
- 压电雨量传感器不堵不粘维护简单的设计结构
- C/C++中CRT表示什么意思?
- 区块链前景分析和学习建议
- 在Fedora上安装NVIDIA驱动详细教程及解析
- 1048 数字加密 (20分)
- [渝粤教育] 广东-国家-开放大学 21秋期末考试中国法律史10212k1