Sizeof与Strlen的区别与联系.docVIP

  • 4
  • 0
  • 约7.37千字
  • 约 8页
  • 2017-02-09 发布于重庆
  • 举报
Sizeof与Strlen的区别与联系

Sizeof与Strlen的区别与联系 1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。 该类型保证能容纳实现所建立的最大对象的字节大小。 2.sizeof是运算符,strlen是函数。 3.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以\0结尾的。 sizeof还可以用函数做参数,比如: short f(); printf(%d\n, sizeof(f())); 输出的结果是sizeof(short),即2。 4.数组做sizeof的参数不退化,传递给strlen就退化为指针了。 5.大部分编译程序在编译的时候就把sizeof计算过了,看它是类型或是变量的长度,这就是sizeof(x)可以用来定义数组维数的原因。 char str[20]=0123456789; int a=strlen(str); //a=10; int b=sizeof(str); //而b=20; 6.strlen的结果要在运行的时候才能计算出来,主要用来计算字符串的长度,不是类型占内存的大小。 7.sizeof后如果接类型参数必须加括弧,如果是变量名可以不加括弧。这是因为sizeof是个操作符不是个函数。 8.当适用了于一个结构类型时或变量,sizeof 返回实际的大小,当适用一静态地址空间数组,size

文档评论(0)

1亿VIP精品文档

相关文档