ในการเขียนโปรแกรมภาษาซีนั้น เราจำเป็นต้องมีการกำหนดชนิดข้อมูล ก่อนการประกาศตัวแปรเสมอ การกำหนดชนิดข้อมูลแต่ละอันก็ขึ้นอยู่กับจุดประสงค์ว่าเราจะใช้ตัวแปรนั้นเก็บค่าอะไร แบบไหน เช่น เก็บเป็นเลขจำนวนเต็ม เก็บเป็นเลขจำนวนจริง หรือเก็บเป็นตัวอักษร
char มีขนาด 1 byte ค่าที่เก็บคือ ตัวอักษร ASCII 1 ตัว ตั้งแต่ 0 ถึง 255
int มีขนาด 2 byte ค่าที่เก็บคือ ค่าจำนวนเต็มตั้งแต่ 32767 ถึง –32768
short มีขนาด 2 byte ค่าที่เก็บคือ ค่าจำนวนเต็มตั้งแต่ 32767 ถึง –32768
long มีขนาด 4 byte ค่าที่เก็บคือ ค่าจำนวนเต็มตั้งแต่ 2147483647 ถึง –2147483648
unsigned
unsigned int มีขนาด 2 byte ค่าที่เก็บคือ ค่าจำนวนเต็มตั้งแต่ 0 ถึง 65535
unsigned short มีขนาด 2 byte ค่าที่เก็บคือ ค่าจำนวนเต็มตั้งแต่ 0 ถึง 65535
unsigned long มีขนาด 4 byte ค่าที่เก็บคือ ค่าจำนวนเต็มตั้งแต่ 0 ถึง 4294967295Advertisement
float มีขนาด 4 byte ค่าที่เก็บคือ ค่าจำนวนจริง ตั้งแต่ 3.4×10^-38 ถึง 3.4×10^38
double มีขนาด 8 byte ค่าที่เก็บคือ ค่าจำนวนจริง ตั้งแต่ 1.7×10^-308 ถึง 1.7×10^308
จากข้อมูลดังกล่าวเมื่อนำมาจัดเป็นกลุ่มจะได้ดังนี้
1. จำนวนเต็ม ได้แก่ข้อมูลชนิด int, short, long, unsigned int, unsigned short และ unsigned long
2. จำนวนจริง คือข้อมูลที่เป็นเลขจำนวนจริง ที่มีทศนิยม หรืออยู่ในรูปของนิพจน์วิทยาศาสตร์ ได้ แก่ข้อมูลชนิด float และ double
3. ตัวอักขระและสตริง (String) ได้แก่ข้อมูลชนิด char ซึ่งเก็บข้อมูลได้ 1 อักขระ และข้อมูลที่เป็นชุดของข้อมูล char (Array of char) ที่ใช้เก็บค่าสตริง