在 Linux 环境下,sizeof
是 C 和 C++ 编程语言中的一个运算符,用于计算数据类型或对象所占用的内存字节大小
以下是 sizeof
运算符在 Linux 环境下的一些基本用法:
#include<stdio.h>
int main() {
printf("Size of int: %zu\n", sizeof(int));
printf("Size of float: %zu\n", sizeof(float));
printf("Size of double: %zu\n", sizeof(double));
return 0;
}
#include<stdio.h>
struct Person {
char name[50];
int age;
};
int main() {
printf("Size of Person structure: %zu\n", sizeof(struct Person));
return 0;
}
#include<stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
printf("Size of array: %zu\n", sizeof(arr));
return 0;
}
注意,当使用 sizeof
计算数组的大小时,需要注意数组名在函数参数中退化为指针。在这种情况下,sizeof
将返回指针变量的大小,而不是整个数组的大小。为了避免这种情况,可以将数组作为指针和数组长度一起传递给函数。
#include<stdio.h>
int main() {
int *ptr;
printf("Size of pointer: %zu\n", sizeof(ptr));
return 0;
}
请注意,sizeof
运算符的结果取决于编译器和目标平台。因此,在不同的系统上,相同的数据类型可能具有不同的大小。