sizeof 是个操作符 , 可用于任何类型或变量,包括数组、结构体、指针等, 返回的是一个类型或变量所占用的字节数; 在编译时求值,不会对表达式进行求值 。
strlen 是个函数,只能用于以 null 字符结尾的字符串,返回的是一个以 null 字符('')结尾的字符串的长度(不包括 null 字符本身) , 且在运行时才会计算字符串的长度 。
需要注意的是,使用 sizeof 操作符计算数组长度时需要注意数组元素类型的大小 。例如,对于一个 int 类型的数组,使用 sizeof 操作符计算其长度应该为 sizeof(array) / sizeof(int) 。而对于一个字符数组,使用strlen函数计算其长度应该为 strlen(array) 。
char str[] = "hello";char *p = str;此时,用sizeof(str)得到的是6 , 因为hello是5个字符,系统储存的时候会在hello的末尾加上结束标识,一共为6个字符;
而sizeof(p)得到的却是4,它求得的是指针变量p的长度,在32位机器上 , 一个地址都是32位,即4个字节 。
用sizeof(
推荐阅读
- 沙滩裤最常见的面料有哪些 沙滩裤首选什么面料
- 7种常见水果,秋天吃正是好时候,健康促消化对吗
- 常见鸟类的本领和特征 常见鸟类的本领
- 八个 C++ 开源项目,帮助初学者进阶成长
- 买车分期与全款:内行揭秘,新手购车避坑指南
- 常见泵原理图 泵的结构与原理图
- U盘使用过程中常见问题及其解决方案
- SSL协议是什么?关于SSL和TLS的常见问题解答
- 衣服的常见面料,十大常见服装面料优缺点分析
- C++多线程编程:解锁性能与并发的奥秘
