1.strlen函數
原型:size_t strlen( const char *string ); 只能傳入char型指針作爲參數
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
2.sizeof函數
sizeof()返回的是變量聲明後所佔的內存數(單位是字節),不是實際長度,此外sizeof不是函數,僅僅是一個操作符,strlen是函數。
sizeof(int)=4;
int a[10];
int *p=a
sizeof(a)=40;
siziof(p)=4;
在傳遞一個數組名到一個函數中時,它會完全退化爲一個指針