📜  C C++中sizeof(int *)和sizeof(int)之间的区别(1)

📅  最后修改于: 2023-12-03 15:29:41.351000             🧑  作者: Mango

C/C++中sizeof(int*)和sizeof(int)之间的区别

在C/C++中,sizeof操作符可以用于获取数据类型或变量所占用的字节数。在本文中,我们将讨论sizeof(int*)和sizeof(int)之间的区别。

sizeof(int*)

sizeof(int*)用于获取一个指向int类型的指针变量所占用的字节数。通常情况下,指针变量在32位系统上占用4个字节,在64位系统上占用8个字节。

以下是一个示例代码:

#include <stdio.h>

int main() {
    int *p;
    printf("sizeof(int*): %ld", sizeof(p));
    return 0;
}

输出:

sizeof(int*): 8

在这个示例中,我们定义了一个指向int类型的指针变量p,并使用sizeof操作符获取其占用的字节数。由于本机是64位系统,因此sizeof(int*)返回8。

sizeof(int)

sizeof(int)用于获取int类型变量所占用的字节数。通常情况下,在C/C++标准中规定int类型占用4个字节。

以下是一个示例代码:

#include <stdio.h>

int main() {
    int a = 10;
    printf("sizeof(int): %ld", sizeof(a));
    return 0;
}

输出:

sizeof(int): 4

在这个示例中,我们定义了一个int类型变量a,并使用sizeof操作符获取其占用的字节数。由于int类型在本机上占用4个字节,因此sizeof(int)返回4。

总结

在C/C++中,sizeof(int*)用于获取指向int类型的指针变量所占用的字节数,通常为4个字节(32位系统)或8个字节(64位系统);sizeof(int)用于获取int类型变量所占用的字节数,通常为4个字节。在编写程序时,了解这些区别可以帮助我们正确地使用sizeof操作符。