ประเภทข้อมูลคือการประกาศตำแหน่งหน่วยความจำหรือตัวแปร ข้อมูลสามารถเป็นประเภทต่างๆ ได้ และตัวอย่างของประเภทข้อมูลในภาษา C มีดังนี้ -
จำนวนเต็ม จำนวนตรรกยะ จำนวนเต็ม จำนวนจริง จำนวนเชิงซ้อน เวกเตอร์ อักขระ ฯลฯ
เมื่อมาถึงฮาร์ดแวร์ของเครื่อง ข้อมูลคือทุกอย่างที่เข้ารหัสเป็นสตริงของเลขฐานสอง 0 และ 1 ที่มีความยาวจำกัด ในเครื่องจักร ข้อมูลจำนวนเต็มจะได้รับการประมวลผลในหน่วยลอจิกเลขคณิต (ALU) และข้อมูลที่เป็นเศษส่วนจะถูกประมวลผลในหน่วยจุดทศนิยม (FPU) สิ่งนี้สะท้อนให้เห็นในประเภทข้อมูลที่มีอยู่แล้วภายในหรือดั้งเดิมของภาษาระดับสูง
ประเภทข้อมูลในตัว
ในภาษา C มีประเภทข้อมูลในตัวที่แตกต่างกันและบางประเภทแสดงไว้ด้านล่าง −
Int, float, char, int ที่ไม่ได้ลงนาม, char ที่ไม่ได้ลงชื่อ, int แบบยาว, สองเท่า ฯลฯ
การใช้ข้อมูล
ในภาษา C ข้อมูลสามารถจัดเก็บได้หลายวิธีโดยใช้ประเภทต่างๆ ตัวอย่างบางส่วนมีการกล่าวถึงด้านล่าง −
- สายอักขระ เกรด='A';
- จำนวน int, index=10;
- ค่าเฉลี่ยลอยตัว=6.9;
ในตัวอย่างการแชทข้างต้น int, float เป็นประเภทข้อมูลในตัว ในขณะที่ string, grade เป็นตัวแปรของประเภท char
-
Grade='A' กำหนดระดับตัวแปรเป็นรหัสอักขระของ 'A'
-
จำนวนและดัชนีเป็นตัวแปรของประเภท int
-
และ index=10 เริ่มต้นตัวแปรเพื่อแทนค่าไบนารีของ 10
ตัวอย่าง
ด้านล่างนี้คือโปรแกรม C เพื่อ ค้นหาขนาดของตัวแปรและประเภทข้อมูลในตัว −
#include<stdio.h> int main(){ int x = 10; char c; printf("Size of variable x = %ld bytes\n",sizeof(x)); printf("Size of variable c = %ld byte\n",sizeof(c)); printf("Size of short is %ld bytes\n",sizeof(short)); printf("Size of int is %ld bytes\n",sizeof(int)); printf("Size of long is %ld bytes\n",sizeof(long)); printf("Size of float is %ld bytes\n",sizeof(float)); printf("Size of double is %ld bytes\n",sizeof(double)); printf("Size of long double is %ld bytes\n",sizeof(long double)); printf("Size of char is %ld bytes\n",sizeof(char)); printf("Size of void is %ld bytes\n",sizeof(void)); return 0; }
ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
Size of variable x = 4 bytes Size of variable c = 1 byte Size of short is 2 bytes Size of int is 4 bytes Size of long is 4 bytes Size of float is 4 bytes Size of double is 8 bytes Size of long double is 16 bytes Size of char is 1 bytes Size of void is 1 bytes