一、 简单来说 sizeof是一个关键字,而strlen是一个库函数

** (1)关键字 sizeof 是一个单目运算符,而不是一个函数。与函数 strlen 不同,它的参数可以是数组、指针、类型、对象、函数等。 (2)而strlen是这样一个函数,size_t strlen(char const* str);,函数返回值是size_t类型,函数形参是char类型的常变量指针(依然是变量,不过具有常量的属性)。 -->其功能是计算指针参数(地址参数)所指向的那个地址,向后计算字符'\0'之前(不包括)的字符的个数; -->而sizeof是计算参数所在内存空间的大小,也可以计算'\0'所占空间,单位为字节; -->sizeof(表达式),其中表达式的内容并不会真正执行。**

可通过下列代码验证

二、下面通过代码来说明sizeof和strlen的几种情况

(1)sizeof

** 当sizeof的参数是与数组相关时,需要明确:除了①sizeof(数组名)--仅仅只有数组名时,表示计算整个数组的大小 ②&数组名,表示整个数组的地址 之外,数组名通通表示首元素的地址**

见代码分析

----------------------------------------------------------------------------------

----------------------------------------------------------------------------------

(2)strlen

见代码分析