ตัวแปรในภาษา C แบ่งออกเป็นกี่ประเภท

135 ครั้งเข้าชม
ตัวแปรภาษา C: 4 ประเภทหลักC/C++ กำหนดชนิดตัวแปรก่อนใช้งาน แบ่งเป็น: อักขระ (character): เก็บข้อมูลตัวอักษร เช่น 'A', 'b' จำนวนเต็ม (integer): เก็บเลขจำนวนเต็ม เช่น 10, -5, 0 ทศนิยม (floating-point): เก็บเลขทศนิยม เช่น 3.14, -2.5 บูลีน (boolean): เก็บค่าความจริง true/false ขนาดข้อมูลขึ้นกับระบบปฏิบัติการ (16, 32 บิต เป็นต้น) อาจมีการแบ่งย่อยชนิดข้อมูลเพิ่มเติม เช่น short int, long int, double เป็นต้น
ความคิดเห็น 0 ครั้งถูกใจ

ตัวแปรในภาษา C มีประเภททั้งหมดกี่ชนิด?

เอ่อ...เท่าที่จำได้นะ ตอนเรียนเขียนโปรแกรม C เมื่อนานมาแล้ว น่าจะปี 2548 มั้ง ที่คณะวิศวะฯ แถวลาดกระบัง (จำชื่อตึกไม่ได้แล้ว) อาจารย์บอกว่าตัวแปรหลักๆ ก็มี 4 แบบนะ

  • ตัวอักษร (char) อันนี้ชัดเจน ใช้เก็บตัวหนังสือ ตัวเดียวโดดๆ 'A' 'b' อะไรแบบนี้
  • จำนวนเต็ม (int) พวกเลขไม่มีจุดทศนิยม เช่น 1, 2, -100
  • ทศนิยม (float, double) อันนี้เอาไว้เก็บเลขที่มีจุดทศนิยมไง เช่น 3.14, -2.71828
  • ค่าความจริง (bool) อันนี้มีแค่ true กับ false เอาไว้เช็คเงื่อนไขต่างๆ

แต่ว่า...มันก็จะมีพวก int short long อะไรที่มันต่างกันตรงขนาดพื้นที่ที่ใช้เก็บข้อมูล ทำให้เก็บเลขได้เยอะน้อยไม่เท่ากันอีกทีนะ แล้วก็ float กับ double ก็คล้ายๆกัน แค่ double มันละเอียดกว่า (มั้งนะ จำไม่ค่อยได้แล้ว)

จริงๆตอนนั้นสับสนเรื่อง pointer มากกว่า ว่าทำไมต้องมี * กับ & ด้วย ปวดหัวเลย

ตัวแปรในภาษาซีมีกี่ประเภท อะไรบ้าง

อืม... กี่ประเภทเนี่ยนะ ตอนเรียนนี่... จำได้คลุมเครือๆ แต่เท่าที่นึกออกนะ หลักๆ ก็ประมาณสี่ ห้าชนิดมั้ง... ไม่แน่ใจจริงๆ สมองมันล้าๆ ไปหมดแล้ว คืนนี้

  • ตัวอักษร นี่ง่ายสุด เก็บแค่ตัวอักษรเดียว A, B, C อะไรแบบนั้น

  • จำนวนเต็ม จำได้ว่ามีหลายแบบ int , short , long อะไรพวกนี้ แต่ขนาดก็ไม่ค่อยมั่นใจ ว่ามันต่างกันยังไง ตอนนั้นงงๆ

  • ทศนิยม float กับ double นี่แหละ จำได้ว่า double แม่นกว่า เก็บได้ละเอียดกว่า แต่ก็กินพื้นที่เยอะกว่า

  • บูลีน อันนี้ง่าย แค่ true หรือ false เท่านั้นเอง ง่ายๆ สบายๆ

แล้วก็มีอีกไหมนะ... เฮ้อ สมองมันตื้อๆ นึกไม่ออกแล้ว ไม่รู้จะนึกยังไงต่อ ปีนี้ก็ทำงานหนัก เหนื่อยจัง

  • จริงๆ แล้วมันอาจมีมากกว่านี้ เพราะบางทีมันก็ขึ้นกับ compiler หรือระบบปฏิบัติการที่ใช้ด้วย แต่เท่าที่จำได้ตอนเรียน... ก็ประมาณนี้แหละ

ชนิดข้อมูลหลักๆ ในภาษา C มีอะไรบ้าง (ยกมา 3 อย่าง)

โอ้โห! คำถามนี้เบสิคมากกกกกกก เหมือนถามเด็ก ป.4 เลยนะเนี่ย! แต่ก็ได้ๆ จะตอบให้แบบ "ขำๆ เสียดสีนิดๆ" ตามที่ขอ เตรียมตัวเฮฮากันได้เลย!

  • int: นี่คือราชาแห่งตัวเลข! มันคือจำนวนเต็ม ไม่มีเศษ ไม่มีทศนิยม ถ้าคุณคิดเลขแล้วได้ 3.14 int มันจะมองเห็นแค่ 3 เหลือทิ้งหมด! เปรียบเหมือนแฟนที่ไม่สนใจความรู้สึกละเอียดอ่อนของคุณเลย เอาแต่สิ่งที่เห็นเป็นหลัก โหดร้ายใช่ไหมล่ะ!

  • float: นี่แหละนางเอก! เจ้าแม่แห่งทศนิยม! เก็บเลขได้ละเอียดกว่า int เยอะ แต่ความละเอียดก็มีขีดจำกัดนะจ๊ะ มันเหมือนกับคนสวยที่ดูดี แต่ก็มีข้อเสียอยู่บ้าง ความแม่นยำไม่ถึงขั้นเทพ แต่ก็สวยงามพอใช้ได้

  • char: ตัวน้อยแต่แกร่ง! เก็บได้แค่ตัวอักษรตัวเดียว! คิดซะว่ามันเป็นนักมายากลตัวจิ๋วที่เก็บความลับได้อย่างน่าทึ่ง แต่เก็บได้แค่ความลับเดียวเท่านั้น ถ้าอยากเก็บเยอะ ต้องใช้หลายๆ ตัว!

บอกเลยว่า 3 ตัวนี้โคตรสำคัญ! ถ้าไม่มีพวกมัน โปรแกรมของคุณก็คงจะเงียบกริบ เหมือนงานศพเลยล่ะ!

เพิ่มเติมนิดหน่อย (เผื่ออยากรู้ลึกกว่านี้)

  • ปีนี้ยังคงใช้ int, float, char เป็นหลัก ไม่เห็นมีอะไรเปลี่ยนแปลงเลย เหมือนกฎหมายบ้านเรา แก้ๆๆ แล้วก็แก้ๆๆ แต่ก็ไม่ค่อยเปลี่ยนแปลงอะไรซักเท่าไหร่
  • ความจริงมีชนิดข้อมูลอื่นอีกเยอะแยะมากมาย แต่ 3 ตัวนี้เป็นตัวหลัก เหมือนดารานำในหนังเรื่องหนึ่งนั่นแหละ!

ตัวแปรประเภท Integer(INT) ใช้เก็บค่าอะไร

อ้าว! คิดว่า Integer เก็บแต่เลขสวยๆ อย่าง 1, 2, 3 เหรอ? คิดผิดแล้วเพื่อน! มันเก็บเลขได้สารพัดแบบ! ตั้งแต่เลขบวกปิ๊งๆ อย่างยอดไลค์ในเฟสบุ๊คของผมเมื่อวาน (เยอะมากจนไม่อยากบอก!) จนถึงเลขลบติดลบแบบยอดเงินในบัญชีหลังจากช้อปปิ้งออนไลน์เสร็จ (น้อยจนอยากร้องไห้!) รวมถึงศูนย์อันแสนเหงาด้วยนะ! ล้อเล่นๆ มันคือเลขจำนวนเต็มนั่นแหละ ไม่ต้องมีทศนิยมมาเกะกะให้ปวดหัว!

  • มันคืออะไร? เลขจำนวนเต็ม! บวก ลบ ศูนย์ ครบสูตร! เหมือนขนมครกที่ไม่มีไส้ แต่ก็อร่อยไปอีกแบบ (อย่าถามว่าทำไมเปรียบเทียบแบบนี้ ผมก็ไม่รู้เหมือนกัน!)

  • ซีแบ่งยังไง? โอ้โห ละเอียดอ่อนซะเหลือเกิน! ภาษาซีมันแบ่งประเภท Integer ยิบย่อยอีก อย่าง short, int, ฯลฯ แต่รายละเอียดปลีกย่อยนั้น... ขออภัย ผมเป็นโปรแกรมเมอร์ที่เน้นความเข้าใจง่าย มากกว่าความแม่นยำในการจำรายละเอียดจิปาถะนะครับ (แหม! แก้ตัวเก่งเนอะ!)

ปีนี้ (2566) ยังคงใช้ Integer ในการเก็บข้อมูลแบบเดิมแหละครับ ไม่เห็นมีอะไรเปลี่ยนแปลงเลย เสถียรมาก! เหมือนความรู้สึกผมที่มีต่อกาแฟเย็นในตอนบ่ายๆ (อร่อยและไม่เปลี่ยนแปลง!)

ตัวดําเนินการในภาษา C มีกี่ประเภท?

โอเค มาลองดูดิ๊ ภาษา C มีตัวดำเนินการกี่แบบนะ...

  • คณิตศาสตร์: บวก ลบ คูณ หาร มอดุโล (หารเอาเศษ) พวก + - * / % ไรงี้ป่ะวะ?

  • เปรียบเทียบ: มากกว่า น้อยกว่า เท่ากับ ไม่เท่ากับ พวก >

  • ตรรกะ: และ หรือ ไม่ พวก && || ! อ่ะ คิดว่านะ

  • กำหนดค่า: = += -= *= /= %= >>=

  • ระดับบิต: & | ^ ~ > เออใช่ มีพวกนี้ด้วย

  • อื่นๆ: พวก sizeof ternary operator (?:) comma operator (.) member access operator (->)

สรุปคือ... มันเยอะกว่าที่คิดนะเนี่ย แต่หลักๆก็ คณิต เปรียบเทียบ ตรรกะ กำหนดค่า ระดับบิต แล้วก็อื่นๆ จุกจิกๆ เออ... แต่ที่จริงก็มี increment/decrement operator ด้วยนะ (++ --) นับเป็นอะไรดีวะ? ค่อยไปหาเพิ่มทีหลังก็ได้มั้ง เพิ่มเติม: ลืมไปเลย มีตัวดำเนินการชี้ตำแหน่งด้วย (&*), arrow operator (->) ด้วยอีก! ตายๆ เยอะเกิน

โครงสร้างของภาษาซี (C) เบื้องต้น มีอะไรบ้าง?

โครงสร้าง C เหรอ? หึ...

  • Preprocessor: #include สำคัญสัสๆ
  • Global: ประกาศตัวแปรนอก function...ระวังเหอะ
  • Main: int main() { ... } จุดเริ่มต้น...อย่าทำพัง
  • Function: สร้างเองใช้เอง...อย่าก็อปชาวบ้าน
  • Comments: // หรือ / ... / เขียนให้คนอื่นอ่านรู้เรื่อง...ถ้าอยาก

เพิ่มเติม:

  • #define: กำหนดค่าคงที่...อย่ามั่ว
  • Struct: สร้าง data type เอง...ซับซ้อนดี
  • Pointer: * และ & ...ถ้าไม่เข้าใจ...จบเห่
  • Header Files: .h ...รวม function ไว้ให้เรียกใช้
  • Library: พวก stdio.h, math.h ...เรียนรู้ไว้

ทำไมต้องเรียนภาษา C?

เอาล่ะ! ทำไมต้องเรียน C? เพราะมันโคตรเท่! ไม่ใช่เท่แบบไอดอลเกาหลีนะ แต่เท่แบบสายลับ! ลับๆ ล่อๆ เข้าถึงแก่นแท้ของคอมพิวเตอร์ได้เลย เหมือนมีพลังพิเศษควบคุมเครื่องจักรกล!

  • พกพาสะดวก: โค้ดเขียนทีเดียวใช้ได้ทั่ว! ไม่ง้อใคร! เหมือนมีกระเป๋าใบเดียวใส่ของได้ทุกอย่าง ไปเที่ยวไหนก็สบายใจ ไม่ต้องแบกกระเป๋าหลายใบให้เมื่อย! นี่แหละความสามารถในการพกพาสูง! (ข้อมูล ณ ปี 2024)

  • ใกล้ชิดฮาร์ดแวร์: ภาษา C เนี่ย มันสนิทกับฮาร์ดแวร์มากกก เหมือนเป็นเพื่อนซี้กันเลย เข้าใจกันถึงขั้น DNA จะปรับแต่งอะไรก็ทำได้ ไม่ต้องผ่านคนกลางให้เสียเวลา! เขียนโปรแกรมควบคุมอะไรก็ได้ แบบว่า...สุดยอด! (ข้อมูล ณ ปี 2024)

  • พื้นฐานที่แข็งแกร่ง: เรียน C แล้วไปเรียนภาษาอื่นง่ายขึ้น! เหมือนมีพื้นฐานวิทยายุทธแน่นปึ้ก ไปเรียนวิชาต่อยอดอื่นๆ ก็ไม่ยาก! นี่แหละประโยชน์ที่ได้จากการเรียนรู้ภาษา C! (ข้อมูล ณ ปี 2024)

  • ตำนานแห่งความเร็ว: เร็วแรงทะลุปรอท! ไม่ใช่แค่เร็วธรรมดา แต่เร็วแบบแสง! (ความเร็วจริงๆ ขึ้นอยู่กับการเขียนโปรแกรมด้วยนะ อย่าเข้าใจผิด!)

สรุปง่ายๆ คือ เรียน C แล้ว จะได้ความรู้ความสามารถที่ล้ำเลิศ เหมือนได้วิชาตัวเบา! ไม่ใช่แค่เขียนโปรแกรมได้ แต่ได้ความเข้าใจเชิงลึกของระบบคอมพิวเตอร์อีกด้วย! มันสุดยอดจริงๆนะขอบอก!