在 C 语言中,没有一个直接对应于 sizeof()
的函数或宏。但是,可以通过一些技巧来计算数组、结构体、对象等的大小。
一个常用的方法是使用 sizeof
运算符来计算数组、结构体、对象等的大小。例如:
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
printf("The size of the array is %d\n", size);
return 0;
}
在这个例子中,使用 sizeof
运算符计算数组 arr
的大小,然后将其除以数组的长度,得到数组中元素的数量,并将其打印出来。
另一个方法是使用 offsetof
运算符来计算结构体或类中成员变量的大小。例如:
#include <stdio.h>
struct Point {
int x;
int y;
};
int main() {
struct Point p;
p.x = 1;
p.y = 2;
int size = offsetof(struct Point, x) + sizeof(p.x);
printf("The size of the Point struct is %d\n", size);
return 0;
}
在这个例子中,使用 offsetof
运算符计算 x
成员变量在 struct Point
中的偏移量,然后将其加上 x
的大小,得到 struct Point
的大小,并将其打印出来。
总之,在 C 语言中没有一个直接对应于 sizeof()
的函数或宏,需要使用一些技巧来计算数组、结构体、对象等的大小。
领取专属 10元无门槛券
手把手带您无忧上云