1.strlen是函数,而sizeof是操作符;
2.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以''\0''结尾的。
3.大部分编译程序在编译的时候就把sizeof计算过了是类型或是变量的长度;而strlen是在运行时计算字符串的长度,而不是所占内存的大小;
3.strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个'\0',如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到'\0'停止。而sizeof()函数返回的是变量声明后所占的内存数,不是实际长度。
4数组做sizeof的参数不退化,传递给strlen就退化为指针了。