C语言中关于sizeof 和 strlen的区别分析
更新时间:2020年4月25日 17:39 点击:1591
1、编译时计算运算符sizeof,可用类型或变量做参数,计算占用内存的大小。sizeof后若是类型必须加括弧,若是变量名可不加括弧。sizeof(x)可用来定义数组维数如:
复制代码 代码如下:
printf("%d\n", sizeof(short));
输出的结果为短整型的长度2。用结构类型或变量做参数时,sizeof 返回实际的大小,当用于静态数组时,sizeof 返回全部数组的尺寸。sizeof 操作符不能返回动态地被分派了的数组或外部的数组的尺寸
2、运行时计算strlen,只能用char*做参数,且必须是以''\0''结尾的。计算的是字符串的长度。如:
复制代码 代码如下:
char str[20]="0123456789";
int a=strlen(str); // 结果为a=10
int b=sizeof(str); // 结果b=20;
3、处理静态数组:
复制代码 代码如下:
char str[20]="0123456789";
int a=strlen(str); // a=10; strlen 计算字符串的长度,以\0'为字符串结束标记。
int b=sizeof(str); // b=20; sizeof 计算的则是分配的数组str[20] 所占的内存空间的大小,不受里面存储的内容影响。
4、处理指针:
复制代码 代码如下:
char* ss = "0123456789";
sizeof(ss) // 结果4,
ss是指向字符串常量的字符指针,sizeof 获得的是一个指针所占的空间。sizeof(*ss) 结果1,*ss是第一个字符 其实就是获得了字符串的第一位'0' 所占的内存空间,是char类型的,占用1字节。strlen(ss)= 10,若要获得这个字符串的长度,则一定要使用 strlen
以上所述就是关于sizeof 和 strlen区别的全部内容了,希望大家能够喜欢
上一篇: c语言实现一个简单日历
下一篇: C语言实现奇数阶魔方阵的方法
相关文章
- 这篇文章主要介绍了C++不使用变量求字符串长度strlen函数的实现方法,实例分析了strlen函数的实现原理与不使用变量求字符串长度的实现技巧,需要的朋友可以参考下...2020-04-25
C语言中strlen() strcpy() strcat() strcmp()函数的实现方法
这篇文章主要介绍了C语言中strlen() strcpy() strcat() strcmp()函数的实现方法,需要的朋友可以参考下...2020-04-25- 以下是对C/C++中的SIZEOF进行了详细的分析介绍,需要的朋友参考下...2020-04-25
- 本篇文章是对sizeof的使用进行了详细的分析介绍,需要的朋友参考下...2020-04-25
- 这篇文章主要介绍了C#中sizeof的用法,包括了常见的用法及注释事项,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了C语言中的sizeof操作符用法及和strlen的区别,本文讲解了sizeof的定义、sizeof的语法以及使用实例,最后给出sizeof与strlen的区别,需要的朋友可以参考下...2020-04-25
C语言中sizeof()与strlen()函数的使用入门及对比
这篇文章主要介绍了C语言中sizeof()与strlen()函数的使用入门及对比,同时二者在C++中的使用情况也基本上同理,是需要的朋友可以参考下...2020-04-25- 今天小编就为大家分享一篇关于C/C++中的sizeof运算符和size_t类型的详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...2020-04-25
- 这篇文章主要介绍了python 中sys.getsizeof的用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-05-25
- sizeof操作符以字节形式给出了其操作数的存储大小...2020-04-25
解析sizeof, strlen, 指针以及数组作为函数参数的应用
本篇文章是对sizeof, strlen, 指针以及数组作为函数参数的应用进行了详细的分析介绍,需要的朋友参考下...2020-04-25- sizeof是C/C++中的一个操作符(operator),作用就是返回一个对象或者类型所占的内存字节数。返回值类型为size_t,在头文件stddef.h中定义...2020-04-25
- <?php教程 //测试时文件的编码方式要是utf8 $str='中文a字1符'; echo strlen($str).'<br>';//14 echo mb_strlen($str,'utf8').'<br>';//6 echo mb_strlen($str,'...2016-11-25
- 本文通过示例简单分析了4种情况下C语言中sizeof 和 strlen的区别,算是个人经验的一个小小的总结,如有遗漏还请大家告知。...2020-04-25
- 在PHP中,函数strlen()返回字符串的长度,strlen()函数返回字符串所占的字节长度,一个英文字母、数字、各种符号均占一个字节,它们的长度均为1...2016-03-02
- 本篇文章是对Sizeof与Strlen的区别以及联系的使用进行了详细的介绍。需要的朋友参考下...2020-04-25
- 我初步理解是strlen只能计算英文字符,而mb_strlen是可以计算中文与英文字符的长度,下面我来详细的介绍 strlen和mb_strlen的区别. 定义和用法 strlen() 函数返回字...2016-11-25
- 下面5个列子针对C++,没有涉及到sizeof字节对齐及基本数据类型即只针对C++特有,并且针对的是32位机...2020-04-25
- 以下是对C语言中sizeof的细节进行了详细的分析介绍,需要的朋友可以参考下...2020-04-25
- 本篇文章是对不用sizeof求出int大小的方法进行了详细的分析介绍,需要的朋友参考下...2020-04-25