C语言 strlen(str)和sizeof(arr)的区别

1. strlen()

strlen(str):表示是运算符,而不是一个函数。sizeof返回的值表示的含义如下: 该函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符’\0’。返回的长度大小不包括’\0’

数组——分配的数组空间大小
指针——存储该指针所用的空间大小
类型——该类型所占的空间大小
对象——对象的实际占用空间大小
函数——函数的返回类型所占的空间大小,函数的返回类型不能是void
      char arr[] ="Hello world"; char *p =arr;printf("%d\n",strlen(arr));//11printf("%d\n",strlen(p));//11

2. sizeof()

sizeof(str) 是一个单目运算符,而不是一个函数。与函数 strlen 不同,它的参数可以是数组、指针、类型、对象、函数等.

它的功能: strlen只关心存储的数据内容,不关心空间的大小和类型。

      char arr[] ="Hello world"; char *p =arr;printf("%d\n",sizeof arr);//12:自动增加一个'\0' ,表示结束符 printf("%d\n",sizeof p);//4  首地址占4个字节

需要解释的是sizeof p,P为指针,返回的是首地址占4个字节长度。

总结:其作用就是返回一个对象或者类型所占的内存字节数

    printf("%d\n", sizeof(char));//1printf("%d\n", sizeof(int));//4printf("%d\n", sizeof(double));//8printf("%d\n", sizeof(float));//4printf("%d\n", sizeof(1));//4

实例如下:

//32位系统 #include<stdio.h>#include<string.h>int a(char c[]){printf("%d\n",strlen(c)); //11 printf("%d\n",sizeof(c));//4 首地址占4个字节 }int main(){char arr[] ="Hello world"; char *p =arr;printf("%d\n",strlen(arr));//11printf("%d\n",strlen(p));//11printf("%d\n",sizeof arr);//12:自动增加一个'\0' ,表示结束符 printf("%d\n",sizeof p);//4 首地址占4个字节a(arr);}

C语言 strlen(str)和sizeof(arr)的区别相关推荐

  1. C语言strlen函数与sizeof函数的区别

    strlen函数与sizeof函数的区别 strlen函数和sizeof函数都可以用于获取字符串的长度,但是它们有几个重要的区别. strlen函数返回字符串的长度,而sizeof函数返回的是整个数组 ...

  2. C语言中,strlen()函数与sizeof()运算符的区别以及用法区别

    C语言编程中,会频繁地对数据进行操作. 其中为了防止内存的非法占用,判断数据的长度或者变量的大小是非常有必要的操作. 最常用的就是strlen()函数或者sizeof()运算符. 那么strlen() ...

  3. C语言再学习 -- 关键字sizeof与strlen

    sizeof  一.简单介绍 sizeof 是 C 语言的一种单目操作符,如 C 语言的其他操作符++.--等.它并不是函数.C 规定 sizeof 返回 sieze_t 类型的值.这是一个无符号整数 ...

  4. 如何求C语言字符串长度(strlen函数和sizeof关键字)

    如何求C语言字符串长度(strlen函数和sizeof关键字) 在程序里,一般会用***strlen()***函数或***sizeof()***来获取一个字符串的长度,但这2种方法获取的字符串的长度其 ...

  5. c语言sizeof测量字符组长度,C语言中,当计算字符数组长度时,用sizeof 和strlen 的原理及两者的区别...

    1:定义时用字符初始化 (1)char chs[7] = {'a', 'c', '0', 'z', '3','d'}; // 长度为6 上式等价于: (2)char chs[7] = {'a', 'c ...

  6. C语言学习笔记---strlen()函数和sizeof()函数

      strlen() 函数和 sizeof() 函数通常都可以用来计算数组或者字符串的长度.在使用的时候很容易混淆.下面就通过几个简单的示例来看一看这两个函数的具体差别. int main() {ch ...

  7. c语言字符数组的实际长度,C语言中,当计算字符数组长度时,用sizeof 和strlen 的原理及两者的区别...

    1:定义时用字符初始化 (1)char chs[7] = {'a', 'c', '0', 'z', '3','d'}; // 长度为6 上式等价于: (2)char chs[7] = {'a', 'c ...

  8. c语言strlen()和sizeof()的区别

    sizeof(type a)输出结果是 type的长度. strlen()是不包括字符串末尾'\0'的长度. note: char str[20]="hello"; str 是ch ...

  9. c 语言str.size,C/C++ strlen(str)和str.length()和str.size()的区别

    strlen(str)和str.length()和str.size()都可以求字符串长度,返回字符串中字符的长度,不包括'/0'. 其中str.length()和str.size()是同义词,返回同样 ...

最新文章

  1. SilverLight学习笔记--WCF服务
  2. 【Angular】内核
  3. JAVA网络编程Socket常见问题 【长连接专题】
  4. AJAX Control Toolkit——DropShadow(阴影和圆角框)
  5. mysql重新用户设置密码_mysql用户密码如何重新设置?
  6. 一套开源的 iOS 轻量级框架
  7. angular指令中的scope的详解
  8. 二分类模型AUC评价法
  9. 使用Clonezilla进行P2V,备份还原完整过程
  10. Foxmail中配置O365邮箱和Hotmail邮箱
  11. rxjs ajax query,rxjs入门之ajax封装
  12. 中国3D打印软件市场现状分析及发展前景预测报告
  13. linux之父博客,Linux25周年之际:专访 Linux 之父 Linus Torvalds
  14. 什么是interop
  15. FRM-92050:连接服务器失败
  16. C++创建windows窗口
  17. 一文看完2018苹果秋季新品发布会,你想知道的问题这里都有答案!
  18. python:selenium库进行网易云歌曲匹配播放
  19. RabbitmqCluster 磁盘不可用,disk space告警
  20. js转换时间戳一直转换成1970的解决方法

热门文章

  1. 关于SoftMax函数的一些介绍
  2. 用卷积神经网络实现猫狗图片分类
  3. 斯坦福句法分析 java_使用stanford nlp进行依存句法分析
  4. CSS3中的变形与动画
  5. 几个字就能生成画作,AIGC的时代即将到来
  6. android OTA系统升级流程
  7. spring-boot 入门 ssmb小例子
  8. 计算机毕业设计ssm图书馆管理系统z3z90系统+程序+源码+lw+远程部署
  9. 根据浏览器滚动条高度判断进度条显示
  10. 初学Python第三天写的一个PC版模拟微信自动给好友发送消息