區別如下:
1、指代上的區別
(1)sizeof:用來獲取字符串長度的導引,是處理字符串的重要工具。
(2)strlen:做的是壹個計數器。
2、用法上的區別
(1)sizeof:sizeof( type_name ); // sizeof(type); 在編譯時有效,而不是在運行時有效。
(2)strlen:extern?unsigned?int?strlen(char?*s); 返回s的長度,不包含終止符NULL。
3、規則上的區別
(1)sizeof:可用於任何變量名,類型名或常量值。 當用於變量名(不是數組名)或常量時,不需要括號。
(2)strlen:從內存的某個特定位置開始掃描(可以是字符串的開頭,中間的某個位置,甚至是不確定的存儲區域),直到第壹個字符串結束字符'\ 0'為止 ,然後返回計數器值。