要点:
1.sizeof为算符,结果类型为unsigned int ;strlen为函数
2.sizeof可用类型,函数作参数;strlen只能用char*作参数,且必须以'\0'结尾
3.大部分编译器在编译时计算sizeof;strlen在运行时计算
4.sizeof是操作符,后接类型时必须加括号,若接变量可不加
部分代码:
char a[]="asdfg";
printf("%d\n",strlen(a)); //输出5
printf("%d\n",sizeof(a)); //输出6,有'\0'
char a[10]="asdfg";
printf("%d\n",strlen(a)); //输出5
printf("%d\n",sizeof(a)); //输出10
char *s="asdfg";</span>
printf("%d\n",strlen(s)); //输出5
printf("%d\n",sizeof(s)); //输出char*大小4
int a[5]={5,2,1,1,4};
printf("%d\n",sizeof(a)); //输出20
printf("%d\n",sizeof(a)/sizeof(int)); //输出5