美文网首页
C语言中对sizeof()和strlen()的说明

C语言中对sizeof()和strlen()的说明

作者: 快乐小哥 | 来源:发表于2017-02-20 15:57 被阅读24次

1.sizeof函数   
sizeof函数返回表达式所占的内存空间(以字节为单位)   
例:

#include<stdio.h> 
#define MONTHES 12 
int main(void) 
{ 
  int days[MONTHES] = {31,28,31,30,30,30}; 
  int len = sizeof(days)/days[0]; 
  printf("days:%d",len);
  return 0;
 }

这段程序输出的结果为:days:48   
因为一个int型在内存中占4个字节,而days数组有12个元素,故共48字节
另外若想求此数组长度,可用如下语句:

 int len = sizeof(days) / sizeof(days[0]);  
``` 
 /*sizeof(days)是整个数组所占的字节数,sizeof(days)时数组中一个元素所占的字节数*/   
 2.strlen函数   
此函数包含在string.h头文件中。返回字符串的长度 ,而非在内存中的字节数,  以"\0"为结束判断,且'\0'不算入总数。  
3.sizeof和strlen比较   
strlen只计算字符串的长度,且'\0'不计算在内。而sizeof可计算各种数据类型在内存中所占的字节数。
且sizeof在计算字符串长度时(char类型在内存中只占一个字节,
故用sizeof函数计算字符串时相当于计算其长度),'\0'计算在内

相关文章

  • C语言中对sizeof()和strlen()的说明

    1.sizeof函数 sizeof函数返回表达式所占的内存空间(以字节为单位) 例: 这段程序输出的结果为:day...

  • 2017C++面试题

    1.sizeof和strlen的区别 sizeof和strlen有以下区别:  sizeof是一个操作符,str...

  • Strlen和sizeof

    一、 1. strlen 是函数,sizeof 是运算符。 2. strlen 测量的是字符的实际长度,以...

  • sizeof 和 strlen

    sizeof 定义 sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者...

  • c/c++中的“大小,长度”问题

    c/c++中的“大小,长度”问题 1.显式缓冲区的sizeof和strlen charbuf[10] = “hel...

  • C++复习--点点知识点

    1.strlen与sizeof的区别? a.strlen是一个函数,sizeof是一个运算符; b.strlen返...

  • sizeof and strlen

    1、strlen计算字符数组的字符数,以"\0"为结束符,不计算"\0"为数组元素 2、sizeofsizeof(...

  • sizeof(),strlen()

    sizeof()是计算'\0'的,而strlen()是不计算'\0'的。 sizeof一个包含函数的结构体,如果是...

  • c语言中数组指针

    c语言中没有专门计算数组长度的函数,需使用sizeof(arr)/sizeof(int)计算,其中sizeof(a...

  • C++笔记(一)--sizeof与strlen的使用

    Day:2018.1.14 ● sizeof()与 strlen()的区别 -- sizeof()是运算符,参数可...

网友评论

      本文标题:C语言中对sizeof()和strlen()的说明

      本文链接:https://www.haomeiwen.com/subject/igrewttx.html