溫馨提示×

如何區(qū)分c++中sizeof指針和sizeof類型的差異

c++
小樊
81
2024-09-24 22:55:15
欄目: 編程語言

在C++中,sizeof是一個運算符,用于計算數(shù)據(jù)類型或?qū)ο笏加玫膬?nèi)存大?。ㄒ宰止?jié)為單位)。當(dāng)你使用sizeof運算符時,它會返回括號內(nèi)數(shù)據(jù)類型或?qū)ο蟮拇笮?。對于指針類型?code>sizeof返回的是指針本身所占用的內(nèi)存大小,而不是它所指向的數(shù)據(jù)類型的大小。

下面是一個例子來說明sizeof指針和sizeof類型的差異:

#include <iostream>

int main() {
    int a = 10;
    int* p = &a; // p是一個指向int類型的指針

    std::cout << "Size of int: " << sizeof(int) << " byte(s)" << std::endl; // 計算int類型的大小
    std::cout << "Size of int pointer: " << sizeof(p) << " byte(s)" << std::endl; // 計算int指針類型的大小

    return 0;
}

輸出結(jié)果:

Size of int: 4 byte(s)
Size of int pointer: 8 byte(s)

在這個例子中,sizeof(int)返回的是int類型的大小,即4字節(jié)。而sizeof(p)返回的是指針p本身所占用的內(nèi)存大小,即8字節(jié)(這取決于你的系統(tǒng)和編譯器)。注意,這里的8字節(jié)并不是int類型的大小,而是指針類型的大小。

0