sizeof 是运算符 ;可以用类型做参数,也可以用函数做参数;
strlen是函数 ;只能用char*做参数,且必须以“\0”结尾的;
数组作为参数传递给函数时传的是指针不是数组 fun(char [8]) fun(char []) 都等价于fun(char*);
char * ss="0123456789"
char ss[]="0123456789"
两者的区别?
cout<<ss;的输出结果都是0123456789
前者ss是指向字符串常量的字符指针
后者ss是数组 sizeof(ss)= 10+1 (考虑“\0”)
char ss[100]="0123456789"
sizeof(ss)=100
strlen(ss) 内部实现是用一个循环计算字符串长度,直到“\0”为止。