strlen和sizeof求字符串长度
首先,strlen是函数,sizeof是运算操作符,二者得到的结果类型为size_t,即unsigned int类型。大部分编译程序在编译的时候就把sizeof计算过了,而strlen的结果要在运行的时候才计算出来。
对于以下语句:
char *str1 = "asdfgh";
char str2[] = "asdfgh";
char str3[8] = {'a', 's', 'd'};
char str4[] = "as\0df";
执行结果是:
sizeof(str1) = 4; strlen(str1) = 6;
sizeof(str2) = 7; strlen(str2) = 6;
sizeof(str3) = 8; strlen(str3) = 3;
sizeof(str4) = 6; strlen(str4) = 2;
str1是字符指针变量,sizeof获得的是该指针所占的地址空间,32位操作系统对应4字节,所以结果是4;strlen返回的是该字符串的长度,遇到\0结束,\0本身不计算在内,故结果是6。
str2是字符数组,大小由字符串常量"asdfgh"确定,sizeof获得该数组所占内存空间大小,包括字符串结尾的\0,所以结果为7;strlen同理返回6。
str3也是字符数组,但大小确定为8,故sizeof得到的结果是8;strlen统计\0之前所有字符的个数,即为3。
str4是常量字符数组,sizeof得到字符总数即6;strlen计算至\0结束,因此返回2。
总结一句就是sizeof计算的是变量的大小,strlen计算的是字符串长度,前者不受字符\0影响,后者以\0作为长度判断依据。
strlen和sizeof求字符串长度相关推荐
- strlen()和sizeof()求字符串长度
我们在编写C语言程序时,很多时候都需要求字符串的长度,这时候我们就会想到使用strlen()或者sizeof(),那么它们两者的使用有什么区别呢?在使用的时候需要注意些什么呢? sizeof()是一个 ...
- strlen 和 sizeof 计算字符串长度的区别
两者区别 sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型.该类型保证能容纳实现所建立的最大对象的字节大小. sizeof是运算符(C++ 关键字) ...
- strlen、sizeof与size()求字符串长度的区别
strlen.sizeof与size()求字符串长度的区别 cout<<strlen("123")<<endl; //返回 3 cout<<si ...
- C++求字符串长度————sizeof()、size()、strlen()以及length()详解
区分sizeof().size().strlen()以及length()以及如何使用 一.区分sizeof()和strlen() 首先,sizeof()[操作数所占空间的字节数大小]是一种c中的基本运 ...
- C语言-求字符串长度-strlen()与sizeof()
需要在代码头部加上标准库<string.h> 代码示例 #include <string.h>char s1[20] = "hello world"; ch ...
- 【C语言】模拟实现库函数 strcpy(复制字符串内容) 与 strlen(求字符串长度)
前言:对于库函数的使用,我们不仅要会使用方法,更要知晓使用原理,而知晓使用原理最好的方法就是模拟相应库函数的使用. 今天我们就来模拟 strcpy(复制字符串内容) 与 strlen(求字符串长度)这 ...
- c语言中用于获取字符串长度的函数是,C语言中求字符串长度的函数的几种实现方法...
C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) { ass ...
- Bailian2681 求字符串长度【字符串】
求字符串长度 总时间限制: 1000ms 内存限制: 65536kB 描述 求一个长度不大于100的字符串的长度,要求不使用strlen方法,并且使用到字符指针. 输入 输出 字符串的长度. 样例输入 ...
- C语言用指针求字符串长度
#include<stdio.h> //指针求字符串长度 int main() {char ch[] = "bit";int count = 0;/*int sz = ...
最新文章
- R语言构建决策树(decision trees)模型并进行调优和解释
- H5学习系列之Communication API
- 小程序中,iOS设备获取蓝牙设备的Mac地址
- Name与x:Name的关系--转载
- PHP之PHP文件引用详解
- VTK:图片之ImageShiftScale
- uni-app 组件传值
- php 执行 javascript,Bash/PHP/Javascript:如何运行输出javascript的php文件,并执行该javascript?...
- 关于win7系统中所有exe文件都被以word方式打开的解决方法
- Cognos 优化-大数据量的报表
- Hbase 详细介绍以及简单的Hbase命令操作(入门必备)
- SEM实验室常见仪器计量问题详解及仪器标准大全附
- 安卓手机虚拟键盘和position:fixed问题
- Macos中的Mercurial GUI工具Murky试用
- 5G凭什么比4G快那么多?
- 华为云数据库DDS产品深度赋能
- 51单片机之智能小车(避障、跟随、循迹)
- 初探串口输出六轴陀螺仪
- W phase 学习
- 四年级经典奥数题及答案解析