strlen是返回字符串的長度。該字符串可能是自己定義的,也可能是內存中隨機的,該函數實際完成的功能是從代表該字符串的第壹個地址開始遍歷,直到遇到結束符NULL。sizeof是獲得保證能容納實現所建立的最大對象的字節大小。
strlen和sizeof求字符串長度的區別
壹、定義不同
sizeof是運算符,在頭文件中typedef為unsigned int,其值在編譯時即計算好了,參數可以是數組、指針、類型、對象、函數等。
2、它的功能是:獲得保證能容納實現所建立的最大對象的字節大小。具體而言,當參數分別如下時,sizeof返回的值表示的含義如下:數組——編譯時分配的數組空間大小;指針——存儲該指針所用的空間大小(存儲該指針的地址的長度,是長整型,應該為4)。
二、語法不同
1、strlen是函數,要在運行時才能計算。參數必須是字符型指針。當數組名作為參數傳入時,實際上數組就退化成指針了。
2、它的功能是:返回字符串的長度。該字符串可能是自己定義的,也可能是內存中隨機的,該函數實際完成的功能是從代表該字符串的第壹個地址開始遍歷,直到遇到結束符NULL。返回的長度大小不包括NULL。