首页 > 代码库 > strlen与sizeof区别

strlen与sizeof区别

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是函数。

strlen与sizeof区别