sizeof和strlen之间的区别.docVIP

  • 8
  • 0
  • 约1.4万字
  • 约 6页
  • 2016-12-23 发布于河南
  • 举报
sizeof和strlen之间的区别 由以下几个例子我们说明sizeof和strlen之间的区别: (1) char* ss =0123456789; sizeof(ss)为4, ss是指向字符串常量的字符指针 strlen(*ss)为1,*ss是第一个字符 (2) char ss[] = 0123456789; sizeof(ss)为11, ss是数组,计算到\0的位置,因此是(10+1) sizeof(*ss)为1,*ss是第一个字符 (3) char ss[100] = 0123456789; sizeof(ss)为100,ss表示在内存中预分配的大,,,,,100*1。 strlen(ss)为10, 它的内部实现是用一个循环计算字符串的长度,直到\0为止。 (4) int ss[100]=0123456789; sizeof(ss)为400,ss表示在内存中的大,,,,,100*4。 strlen(ss)错误,strlen的参数只能是char*,且必须是以\0结尾的。 (5) class X { int i; int j; char k; }; X x; coutsizeof(X)endl; //结果为12, 内存补齐 coutsizeof(x)endl; //结果为12 两者的区别: (1) sizeof操

文档评论(0)

1亿VIP精品文档

相关文档