色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

字符串的長度和占用的存儲字節有什么區別

錢淋西2年前49瀏覽0評論

字符串的長度和占用的存儲字節有什么區別?

長度是字符串的字符數,比如:char* p = "1234";那么p的字符數就是4,4就是其長度,也可以理解為strlen和wcslen對字符串的返回值。

占用存儲字節是該字符串在內存中所占用的存儲空間的表示,還是上面那個字符串,其占用存儲空間就是5,包括一個空字節,所以其占用字節數為5。

因此C風格ASCII字符串的長度和其字符數是不同的,除了C風格字符串(以空字節結尾的字符串),其他ASCII字符串也有長度和占用存儲空間相同的情況,比如STL中的string其內存占用空間就和字符長度相同,因為它不是用空字符來標識字符串結尾的。

所以對于ASCII字符串,其長度和所占字節數可能相同。

而對于寬字符wchar_t或unicode,其字符長度肯定和所占字節數不同。

wchar_t s[] = L"1234";sizeof(s)是10,wcslen(s)是4。知道了吧,簡單點這2個概念也可以理解為sizeof和strlen或wcslen返回的長度。