sizeof和strlen計算陣列型別和指標型別字串

ych9527發表於2020-10-24

在這裡插入圖片描述
1.char arr是一個字元型別的陣列,sizeof計算其大小的時候,是計算的這個陣列所佔的空間,char型別陣列中,一個元素佔一個位元組,即沒有包括\0;
2.計算arr的長度的時候是檢測到\0為止的,定義arr陣列的時候是在一段記憶體中取四個位元組,但是記憶體是連續的,用strlen計算的時候,會繼續往下執行,因此長度是未知的。
3.char*str是一個指標,裡面儲存的是字串首地址,利用sizeof計算的時候計算的是指標的大小,和指標的內容沒有關係,因此在32位作業系統下,指標所佔的位元組為4;
4.利用strlen計算該字串長度的時候是先訪問a的首地址,再繼續向下訪問,到\0為止。

相關文章