c语言学习记录4
strlen函数与sizeof操作符1.strlen函数是用来计算字符串长度的大小(只针对字符串)
strlen函数c标准文档:
看不懂英文介绍没关系
我们知道c字符串会自动在字符串末尾添加‘\0’用来标志字符串的结尾('\0'字符大ASCII是0,因此把‘\0’该为‘0’也是一样的),而字符串结束标志‘\0’是不进行计算,例如:‘abcdef’,实际上是‘abcdef\0’。当然我们也可自己加‘\0’,例如:
#include <stdio.h>int main(){char p = "abcdef\0abc";//'\0'算一个字符 int len = strlen(p);//让我们求一下p长度printf("%d", len);return 0;}显然len值为6
来让我们看看如下代码运行结果
int main(){char p = "\0abcdef\0abc";//'\0'算一个字符 int len = strlen(p);//让我们求一下p长度printf("%d", len);return 0;}显然len值为0
由此可知strlen函数针对字符串结束标志‘\0’前有多少个字符就计算多少个字符。
2.sizeof操作符是计算变量大小的(不止针对字符串)
sizeof就是返回一个对象或者类型所占的内存字节数
int main(){char p = "\0abcdef\0abc";//'\0'算一个字符 int len = sizeof(p);//让我们求一下p长度printf("%d", len);return 0;}这时候len的值就不是0,而是30
我们可以用sizeof计算各种数据类型的大小
总结:strlen函数是针对字符‘\0’且只对字符串有效,而sizeof操作符是对对象或数据类型返回其所占的空间大小。
https://blog.51cto.com/u_15418315/4796428
页:
[1]