C语言种sizeof()和strlen的区别

  • sizeof C 语言内置的操作符关键字,而 strlen C 语言库函数;
  • sizeof 仅用于计算数据类型的大小或者变量的大小,而 strlen 只能以结尾为' \0 '的字符串作为参数;
  • 编译器在编译时就计算出了 sizeof 的结果,而 strlen 必须在运行时才能计算出来;
  • sizeof 计算数据类型或变量会占用内存的大小,strlen 计算字符串实际长度。
int main(void)
{
	 char str[50] = "Linux app strlen test!";
	 char *ptr = str;
	 printf("sizeof: %ld\n", sizeof(str));
	 printf("strlen: %ld\n", strlen(str));
	 puts("~~~~~~~~~~");
	 printf("sizeof: %ld\n", sizeof(ptr));
	 printf("strlen: %ld\n", strlen(ptr));
	 exit(0);
}

结果:

从打印信息可知,第一个 sizeof 计算的是数组变量 str 的大小,所以等于 50 ;而第二个 sizeof 计算的是指针变量 ptr 的大小,这里等于 8 个字节,因为这里笔者是在 Ubuntu 64 位系统下进行的测试,所以指针占 用的内存大小就等于 8 个字节;而 strlen 始终计算的都是字符串的长度。

 

相关推荐

  1. C语言sizeofstrlen区别

    2024-03-20 13:34:02       46 阅读
  2. c语言版)strlensizeof区别

    2024-03-20 13:34:02       29 阅读
  3. sizeofstrlen,len区别

    2024-03-20 13:34:02       12 阅读
  4. C语言之数组与strlensizeof区别应用

    2024-03-20 13:34:02       39 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-20 13:34:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-20 13:34:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-20 13:34:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-20 13:34:02       20 阅读

热门阅读

  1. InitializingBean学习

    2024-03-20 13:34:02       23 阅读
  2. 机器学习 - PyTorch使用流程

    2024-03-20 13:34:02       21 阅读
  3. TCP总结

    TCP总结

    2024-03-20 13:34:02      22 阅读
  4. 学习大数据,所需要的SQL基础(3)

    2024-03-20 13:34:02       20 阅读
  5. 深入理解与使用go之错误处理--实现

    2024-03-20 13:34:02       21 阅读
  6. 一文解读ISO26262安全标准:技术安全概念TSC

    2024-03-20 13:34:02       27 阅读
  7. MongoDB聚合运算符:$getField

    2024-03-20 13:34:02       22 阅读
  8. Web框架开发-Django-模板继承和静态文件配置

    2024-03-20 13:34:02       21 阅读
  9. Windows 11 安装 Scoop

    2024-03-20 13:34:02       20 阅读
  10. Web框架开发-Django的模板层

    2024-03-20 13:34:02       23 阅读
  11. Python Web开发记录 Day15:Django part9 数据统计

    2024-03-20 13:34:02       17 阅读