C++中sizeof()与strlen()的区别

        终于把Assignment 2做完了,在收尾阶段,遇到了要算char[]类型的长度的问题,我一开始用了sizeof(),后来发现不对,忽然想起来strlen(),用上就对了。其间,我还编了个程序实验了一下,发现这两个函数的区别。

#include
using namespace std;
void main()
{
char st[8];
strcpy(st,"good");
cout<<"sizeof:"<<sizeof(st)<<endl;
cout<<"strlen:"<<strlen(st)<<endl;
system("pause");
}

结果为:

  

 

这就说明sizeof()是计算分配给数组的长度的,因此结果是8;而strlen()是计算数组里装有数据的长度,所以结果是4。

       因此,如果我们要计算一个字符数组的长度的时候,应该使用strlen()函数。

 

Tonitech版权所有 | 转载请注明出处: http://www.tonitech.com/37.html

《C++中sizeof()与strlen()的区别》有2个想法

发表评论