1.


strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个'\0',如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到'\0'停止。


char aa[10];cout<<strlen(aa)<<endl; //结果是不定的


char aa[10]={'\0'}; cout<<strlen(aa)<<endl; //结果为0


char aa[10]="jun"; cout<<strlen(aa)<<endl; //结果为3


char aa[5]="hello";cout<<strlen(aa)<<endl; //结果5


2.


sizeof()返回的是变量声明后所占的内存数,不是实际长度,


sizeof(aa) 返回10


int a[10]; sizeof(a) 返回40 (根据语言int型 c 是两个字节 c++是四个 java 是两个)


3.


sizeof是一个操作符,strlen是函数。


作者:柒月