ตัวดำเนินการ 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