ตัวดำเนินการ sizeof คือตัวดำเนินการทั่วไปใน C ซึ่งเป็นตัวดำเนินการ unary เวลาคอมไพล์และใช้ในการคำนวณขนาดของตัวถูกดำเนินการ ส่งกลับขนาดของตัวแปร สามารถใช้ได้กับชนิดข้อมูลใด ๆ ชนิดลอย ตัวแปรชนิดตัวชี้
เมื่อใช้ sizeof() กับประเภทข้อมูล ก็จะคืนค่าจำนวนหน่วยความจำที่จัดสรรให้กับประเภทข้อมูลนั้น เอาต์พุตอาจแตกต่างกันในเครื่องที่แตกต่างกัน เช่น ระบบ 32 บิตสามารถแสดงเอาต์พุตที่แตกต่างกัน ในขณะที่ระบบ 64 บิตสามารถแสดงประเภทข้อมูลที่แตกต่างกันได้
นี่คือตัวอย่างในภาษา C
ตัวอย่าง
#include <stdio.h>
int main() {
int a = 16;
printf("Size of variable a : %d\n",sizeof(a));
printf("Size of int data type : %d\n",sizeof(int));
printf("Size of char data type : %d\n",sizeof(char));
printf("Size of float data type : %d\n",sizeof(float));
printf("Size of double data type : %d\n",sizeof(double));
return 0;
} ผลลัพธ์
Size of variable a : 4 Size of int data type : 4 Size of char data type : 1 Size of float data type : 4 Size of double data type : 8
เมื่อ sizeof() ใช้กับนิพจน์ มันจะคืนค่าขนาดของนิพจน์ นี่คือตัวอย่าง
ตัวอย่าง
#include <stdio.h>
int main() {
char a = 'S';
double b = 4.65;
printf("Size of variable a : %d\n",sizeof(a));
printf("Size of an expression : %d\n",sizeof(a+b));
int s = (int)(a+b);
printf("Size of explicitly converted expression : %d\n",sizeof(s));
return 0;
} ผลลัพธ์
Size of variable a : 1 Size of an expression : 8 Size of explicitly converted expression : 4