C 錯誤知識點梳理之sizeof和strlen

2021-10-08 21:53:09 字數 1226 閱讀 6639

sizeof 是以分類的陣列的實際所佔的記憶體空間大小計算長度

strlen計算字串的長度,是以』\0』為字串結束標誌。

const

char

* str =

"123456"

;

sizeof(str)和strlen(str)的結果分別是:

第乙個sizeof讀取的是指標的長度,在64位系統為8b ,在32位系統為4b

strlen讀取的是長度為6.

#include

intgetsize

(int data)

intmain()

;int size1 =

sizeof

(data1)

;int

* data2 = data1;

int size2 =

sizeof

(data2)

;int size3 =

getsize

(data1)

;printf

("%d, %d, %d"

,size1, size2, size3)

;return0;

}

在64位機子上的結果分別是: 20, 8, 8

指標的sizeof

指標是用來記錄乙個物件的位址,所以指標的記憶體大小等於計算機內部位址匯流排的寬度,

在32位計算機中,乙個指標變數的返回值為4b

在64位計算機中,乙個指標變數的返回值為8b

指標變數的sizeof 值與所指的物件沒有任何關係。

classa;

};classb:

public

virtual a

;virtual

voidaa(

);};

classc:

public

virtual b

;virtual

voidaa(

);virtual

voidbb(

);};

intmain()

在64位電腦的答案是:

詳細參考:

**c++中sizeof操作符的用法

C 知識點梳理(三)

toc 黎克特制轉換 形參 實參 ref out 對修改關閉對擴充套件開放 定義 所有引用基類的地方必須能透明地使用其子類的物件。問題 有一功能p1,由類a來完成。現在需要將功能p1進行擴充套件,擴充套件後的功能為p p由原有功能p1和新功能p2組成 功能p由類a的子類b來完成,子類b在完成新功能p...

python之切片知識點梳理

切片就是從資料容器中按某種的規則獲取資料。可以切片的物件有list tuple str numpy的array陣列 pandas的dataframe等等。變數 物件 起始 終止 步長 物件 即你需要做切片操作的資料集。起始 從0開始,預設值是0。終止 切片截止的位置前一位。預設值是物件的長度。步長 ...

Linux知識點梳理

使用者名稱 主機名 root hostname 使用者名稱 主機名稱 符號含義 當前使用者屬於root使用者 當前使用者屬於普通使用者 注意 對系統進行配置管理時,如要root使用者 檢視主機名稱 hostname設定主機名稱 hostname hadoop senior.com注意 該方式設定,當...