在 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
運算符的結果取決于編譯器和目標平臺。因此,在不同的系統上,相同的數據類型可能具有不同的大小。