计算字符串的长度:strlen 、sizeof的不同
2015-10-23 16:37
316 查看
在C语言中,字符型为char,字符数组定义为:char 数组名 ={ 值1,值2...},或者为 char 数组名 = “ ”。而要计算字符数组,也就是字符串的长度,有两中方法:strlen和sizeof。
strlen()是字符串处理函数,用来计算字符串的长度,即:字符串中实际字符的长度。如下:
char array[10] = "iphone";
printf("%lu\n",strlen(array));
最终输出结果为6。刚好是实际写入字符的个数。
而sizeof是操作符,使用来计算所建立的对象的字节长度。如果提前规定了数组的长度,那么结果就是规定的长度;如果没有规定,计算的长度为实际写入的字符 + 1:\0。
例子:
规定字符数组的长度为10:
char array[10] = "iphone";
printf("%lu\n",sizeof(array));
控制台输出的结果为10。
不规定长度:
char array[] ="iphone";
printf("%lu\n",sizeof(array));
此时在控制台输出的值为7:实际字符 + ‘\0’。
strlen()是字符串处理函数,用来计算字符串的长度,即:字符串中实际字符的长度。如下:
char array[10] = "iphone";
printf("%lu\n",strlen(array));
最终输出结果为6。刚好是实际写入字符的个数。
而sizeof是操作符,使用来计算所建立的对象的字节长度。如果提前规定了数组的长度,那么结果就是规定的长度;如果没有规定,计算的长度为实际写入的字符 + 1:\0。
例子:
规定字符数组的长度为10:
char array[10] = "iphone";
printf("%lu\n",sizeof(array));
控制台输出的结果为10。
不规定长度:
char array[] ="iphone";
printf("%lu\n",sizeof(array));
此时在控制台输出的值为7:实际字符 + ‘\0’。
相关文章推荐
- 插入数据
- 利用 iptables 命令限制单个端口的并发连接数
- C语言中变量名的命名规则
- 批处理系统,分时系统,实时系统
- GUI 事件绑定实例
- Caused by: java.lang.NoSuchMethodError: org.hibernate.cfg.annotations.reflection.XMLContext$Default.
- RC滤波器截止频率在线计算器
- 【IOS 开发学习总结-OC-64】Quartz 2D绘图(4-1)——Quartz 2D绘图基础+点线模式
- 第一章 基本语法-7循环(while)
- 分形<一>分形简介
- eclipse mars对C++11标准的支持
- 多维分析OLAP引擎Mondrian学习
- 新建表格
- 杭电1017--整数问题
- 国内网盘
- 不要过早追求通用
- SQL Server Management Studio的对象资源管理器的使用
- servlet都做了什么?
- oracle定时任务更新数据
- Linux那些事儿之我是Block层(5)浓缩就是精华?(二) .