首页>>帮助中心>>香港服务器Linux中sizeof对于指针的计算规则是什么

香港服务器Linux中sizeof对于指针的计算规则是什么

2024/9/13 121次
香港服务器在 Linux 系统中,sizeof 是一个运算符,用于计算数据类型或对象所占用的内存字节数

对于指针变量,sizeof 计算的是指针本身所占用的内存大小,而不是指针所指向的数据类型的大小。在 32 位系统中,所有类型的指针大小都是 4 字节(32 位);而在 64 位系统中,所有类型的指针大小都是 8 字节(64 位)。这是因为指针本身只是一个内存地址,其大小与所指向的数据类型无关。

例如:

#include<stdio.h>

int main() {
int a = 10;
int *ptr = &a;

printf("Size of int: %zu\n", sizeof(int));
printf("Size of pointer to int: %zu\n", sizeof(ptr));

return 0;
}
复制代码
在 32 位系统上运行此程序,输出将是:

Size of int: 4
Size of pointer to int: 4
复制代码
在 64 位系统上运行此程序,输出将是:

Size of int: 4
Size of pointer to int: 8
复制代码
请注意,这里的 sizeof 返回的是 size_t 类型的值,因此使用 %zu 格式说明符进行输出。
 
购买使用一诺网络香港服务器,可以极大降低初创企业、中小企业以及个人开发者等用户群体的整体IT使用成本,无需亲自搭建基础设施、简化了运维和管理的日常工作量,使用户能够更专注于自身的业务发展和创新。香港服务器低至29元/月,购买链接:https://www.enuoidc.com/vps.html?typeid=2