C语言sizeof 和 strlen 的区别
来源:互联网 发布:catia软件销售怎么样 编辑:程序博客网 时间:2024/04/19 05:20
先来看下面一段简单的代码段
#include <stdio.h>int main(int argc, const char * argv[]) { const char str[] = "hello"; printf("%lu %d\n",sizeof(str), strlen(str)); return 0;}
输出 6 5
我们知道, C 字符串会在末尾添加一个 \0
作为终止符, strlen()
是函数,其结果在运行时才能知道。获得 C 字符串的大小, 不包括 \0
本身 sizeof()
是运算符,其结果在编译时就确定好了,返回的是所占空间的大小
char mystr[100] = "test"; printf("%lu\n",sizeof(mystr)); // 输出100 printf("%u\n", (unsigned)strlen(mystr)); // 输出4 char str[] = "hello"; // 4个字符, 该声明在编译时可确定 strcpy(str, "hello world"); // 11个字符 printf("%lu\n", sizeof(str)); // 输出 6,sizeof()是运算符,其值在编译时就确定好了 printf("%u\n", strlen(str)); // 输出 11, strlen()是函数,其值在运行时才确定
参考
https://stackoverflow.com/questions/9937181/sizeof-vs-strlen
http://zh.cppreference.com/w/c/string/byte/strlen
阅读全文
0 0
- C语言sizeof 和 strlen 的区别
- C语言sizeof 和 strlen 的区别
- c语言中strlen 和 sizeof的区别
- C语言的sizeof和strlen区别与联系
- C语言中sizeof和strlen的区别
- C语言里strlen和sizeof的区别
- c语言006-sizeof/strlen的使用和区别
- C语言中strlen()和sizeof()的区别
- C语言中sizeof和strlen的区别与联系
- C语言中关于sizeof和strlen的区别
- C语言sizeof()和strlen()函数的区别
- c语言中sizeof()和strlen()的区别
- C语言:strlen与sizeof的区别
- C语言的sizeof和strlen
- C语言的sizeof和strlen
- C语言的sizeof和strlen
- C语言的sizeof和strlen
- C的strlen和sizeof的区别
- lua 人机交互(三)
- 怪诞行为学(reading note)
- scikit-learn linearRegression 1.2 线性与二次判别分析
- 某WX插件的验证机制的分析
- leetcode[Guess Number Higher or Lower]
- C语言sizeof 和 strlen 的区别
- 快学scala之List操作
- Dom 网页开关灯
- Android 中图片和协议的三级缓存,图片的的三级缓存Lru和算法.协议的三级缓存策略.
- 产生冠军 【map 建图】
- SHU-“盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛-M-风力观测
- url中向后台传递中文乱码解决方法
- java通过递归实现质因数分解
- Dom 表格行变色