飞奔的炮台 发表于 2021-12-13 23:12:22

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]
查看完整版本: c语言学习记录4