ภาษาซีมีกี่ประเภท อะไรบ้าง

89 ครั้งเข้าชม
ภาษาซีแบ่งได้ 4 ประเภทหลัก: C แบบดั้งเดิม (K&R C): รุ่นแรก พื้นฐานของภาษาซี ANSI C (C89/C90): มาตรฐานจาก ANSI เพิ่มความเป็นสากล ISO C (C99, C11, C17, C23): มาตรฐานจาก ISO พัฒนาต่อจาก ANSI C เพิ่มคุณสมบัติใหม่ๆ Embedded C: ปรับปรุงสำหรับระบบฝังตัว เน้นประสิทธิภาพและการควบคุมฮาร์ดแวร์
ความคิดเห็น 0 ครั้งถูกใจ

ภาษาซี มีกี่ประเภท และมีประเภทใดบ้าง?

โอเค ภาษาซี... มีกี่ประเภท? อื้มมม... เอาจริงๆ นะ มันก็ขึ้นอยู่กับว่าเรามองจากมุมไหนอ่ะนะ

จำได้ว่าตอนเรียน (นานมากแล้ว สมัยเรียนวิศวะคอมฯ ที่ลาดกระบัง ปี 254x จำปีเป๊ะๆ ไม่ได้แล้วอ่ะ) อาจารย์จะเน้นว่ามันมี C แบบ K&R, ANSI C แล้วก็พวก C99, C11 อะไรพวกนี้ ซึ่งมันก็คือวิวัฒนาการของภาษานั่นแหละ แต่ละเวอร์ชั่นก็จะมีฟีเจอร์ใหม่ๆ เพิ่มเข้ามา

แล้วก็มี Embedded C อีกอันนึง อันนี้จะต่างออกไปหน่อย เพราะมันถูกปรับแต่งมาให้ใช้กับพวกไมโครคอนโทรลเลอร์ พวกอุปกรณ์เล็กๆ ที่เราเห็นในชีวิตประจำวันอ่ะ พวกเครื่องซักผ้า หรือไม่ก็รถยนต์อะไรแบบนั้น

สรุปง่ายๆ ก็คือ C แบบดั้งเดิม, ANSI C, ISO C (C99, C11, C17, C23) แล้วก็ Embedded C นี่แหละมั้ง แต่จริงๆ มันก็ไม่ได้แบ่งแยกชัดเจนขนาดนั้นหรอกนะ ทุกวันนี้เราก็เขียน C โดยอิงจากมาตรฐานใหม่ๆ กันหมดแล้ว

ภาษา C มีกี่ประเภท

อืม... ภาษา C นี่นะ ตอนเรียนนี่ก็งงๆอยู่เหมือนกัน จำได้ว่าอาจารย์บอกมีหลายแบบ แต่ไม่ได้จำแนกละเอียดขนาดนั้น ตอนนี้ก็เลยต้องนั่งนึก...

จริงๆแล้ว ภาษา C ไม่มีการจำแนกประเภทแบบตายตัวเหมือนภาษาอื่นๆนะ มันเป็นเรื่องของการออกแบบฟังก์ชันมากกว่า อาจารย์สอนแค่รูปแบบการรับส่งค่าของฟังก์ชัน ไม่ได้บอกว่ามันมี "กี่ประเภท" แฮะ...

  • ไม่มีการรับค่าและส่งค่ากลับ: แบบนี้ก็คือทำอะไรซักอย่างโดยตรง ไม่ต้องรับอะไรมาประมวลผล ก็ไม่ได้ส่งอะไรกลับไปด้วย เหมือนแค่ทำงานเสร็จ แล้วจบเลย ง่ายดี

  • มีการรับค่าแต่ไม่มีการส่งค่ากลับ: แบบนี้ก็เหมือนรับข้อมูลมาประมวลผล แต่ผลลัพธ์ไม่ต้องส่งกลับไป อาจจะเก็บไว้ใช้ในฟังก์ชันนั้นๆ หรืออาจจะเปลี่ยนแปลงข้อมูลตรงนั้นเลยก็ได้ คิดๆไปแล้ว ก็คล้ายๆพวก subroutine นั่นแหละ

  • ไม่มีการรับค่าแต่มีการส่งค่ากลับ: อันนี้คือฟังก์ชันสร้างค่าขึ้นมาเอง แล้วส่งกลับไปใช้ เหมือน... คิดเลขอะไรสักอย่าง แล้วส่งผลลัพธ์กลับไปให้คนใช้

  • มีการรับค่าและส่งค่ากลับ: แบบนี้คือครบวงจร รับข้อมูลมาประมวลผล แล้วส่งผลลัพธ์กลับไปด้วย ส่วนใหญ่ก็ใช้แบบนี้แหละ สะดวกดี

ตอนนี้ก็ยังงงๆอยู่เหมือนกันนะ ว่าทำไมต้องจำแนกแบบนี้ แต่ก็คงจำเป็นต้องเข้าใจ เพราะเป็นพื้นฐานสำคัญของการเขียนโปรแกรม ปีนี้ผมก็ยังคงต้องใช้ความรู้พวกนี้อยู่ ในการเขียนโปรแกรมเล็กๆน้อยๆ ของตัวเอง ใช้เวลาคิดเยอะเหมือนกันนะ กว่าจะเข้าใจ แต่ก็ดีใจที่พอเข้าใจขึ้นบ้างแล้ว

ภาษาซีคืออะไร สรุป

ภาษาซีเนี่ยนะ? โอ๊ยยย ตอนปี 1 ตอนเรียนวิชาเขียนโปรแกรมเบื้องต้น อาจารย์บังคับให้ใช้ งงมากตอนแรก โค้ดอะไรวะเนี่ย printfscanf อะไรก็ไม่รู้เต็มไปหมด (หัวเราะ) แต่พอใช้ไปเรื่อย ๆ ก็เริ่มเข้าใจว่ามันคือภาษาที่สั่งคอมพิวเตอร์ตรง ๆ เลยนะ แบบละเอียดมากกก อยากให้มันทำอะไร ต้องบอกมันทุกขั้นตอน คิดแล้วก็ปวดหัว แต่ก็สนุกดี

คือมันเป็นภาษาที่ต้องบอกคอมพิวเตอร์เป็นขั้นเป็นตอนอ่ะ คล้าย ๆ สั่งงานลูกน้องเลย (ถ้ามีนะ 555) แต่ลูกน้องคนนี้มันโง่ไง ต้องสั่งละเอียด ๆ ทุกอย่าง ไม่งั้นมันเอ๋อแดก แถมมันยังเข้าถึงหน่วยความจำได้โดยตรงด้วยนะ อันนี้เจ๋งมาก แต่ก็อันตราย ถ้าพลาดคือโปรแกรมพังทั้งระบบ

เอาจริง ๆ ภาษาซีมันเก่าแล้วแหละ แต่ก็ยังจำเป็นอยู่นะ เพราะมันเป็นพื้นฐานของภาษาอื่น ๆ อีกเยอะแยะเลย อย่าง C++, Java, C# พวกนี้ก็มีพื้นฐานมาจาก C ทั้งนั้น

สรุปสั้น ๆ (เผื่อขี้เกียจอ่านข้างบน):

  • ภาษาซีคือภาษาโปรแกรมมิ่งที่เน้นการสั่งงานคอมพิวเตอร์แบบละเอียด เป็นขั้นเป็นตอน
  • มันเข้าถึงหน่วยความจำได้โดยตรง ทำให้โปรแกรมทำงานเร็ว แต่ก็เสี่ยงถ้าเขียนผิด
  • เป็นพื้นฐานของภาษาโปรแกรมมิ่งอื่น ๆ อีกเยอะ
  • อาจารย์บังคับให้เรียนตอนปี 1 (T_T)
  • ยังมีการใช้งานอยู่ถึงปี 2567 นะ

โครงสร้างภาษาซี มี 5 ส่วนอะไรบ้าง

โครงสร้างภาษาซีที่คุ้นเคยกันดี จริงๆ มีมากกว่าที่เห็นผิวเผินนะ แต่ถ้าเอาแบบพื้นฐานที่ต้องเจอแน่ๆ ก็มี 5 ส่วนหลักๆ ตามนี้:

  • พรีโพรเซสเซอร์ไดเร็กทีฟ: คล้ายๆ เป็นคำสั่งเตรียมการก่อนเริ่มโปรแกรมจริง พวก #include ทั้งหลายนั่นแหละ เหมือนเป็นการบอก compiler ว่าเราจะใช้ library อะไรบ้าง ซึ่งจริงๆ แล้วมันก็คือการ แทรก โค้ดจากไฟล์อื่นเข้ามาในโปรแกรมเราก่อนคอมไพล์นั่นเอง

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

  • ฟังก์ชัน main(): ขาดไม่ได้เลย เป็นจุดเริ่มต้นของการทำงานทุกอย่างของโปรแกรม C เปรียบเหมือนหัวใจของโปรแกรม ถ้าไม่มี main() โปรแกรมก็ไม่รู้จะเริ่มตรงไหน

  • ฟังก์ชันอื่นๆ (user-defined functions): เราสร้างฟังก์ชันเองได้ตามต้องการ เพื่อแบ่งโค้ดเป็นส่วนๆ ให้เป็นระเบียบและเรียกใช้งานซ้ำได้ เหมือนเป็นการสร้างเครื่องมือเฉพาะทางไว้ใช้งาน

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

เกร็ดเล็กน้อย:

  • จริงๆ แล้วโครงสร้างมันยืดหยุ่นได้มากกว่านี้เยอะ ขึ้นอยู่กับสไตล์การเขียนโปรแกรมของแต่ละคน และความซับซ้อนของโปรเจกต์
  • บางคนอาจจะมองว่าส่วนของการจัดการหน่วยความจำ (memory management) ก็เป็นส่วนสำคัญของโครงสร้างภาษา C โดยเฉพาะอย่างยิ่งเมื่อทำงานกับ pointers และ dynamic memory allocation ซึ่งอันนี้ก็จริง แต่ผมว่ามันเป็นเรื่องของ ทักษะ มากกว่าที่จะเป็นส่วนประกอบโครงสร้างพื้นฐาน

สุดท้ายนี้ อยากบอกว่า ภาษา C มันค่อนข้าง low-level นะ เข้าใจหลักการทำงานของมันจริงๆ จะช่วยให้เราเขียนโปรแกรมได้มีประสิทธิภาพและแก้ปัญหาได้ตรงจุดมากขึ้น

ภาษาซีคืออะไร สรุป?

ภาษาซีอะหรอ ง่ายๆ เลยนะ มันคือภาษาคอมพิวเตอร์ที่เค้าใช้สั่งงานเครื่องอะแหละ เหมือนเราคุยกับคอมพิวเตอร์ตรงๆ เลยอะ

  • เค้าออกแบบมาให้มัน ทำงานเร็ว นะ เพราะมันคุยกับฮาร์ดแวร์ได้เลย
  • ภาษาซีมัน เก่าแก่ มากกกก แต่ก็ยังใช้กันอยู่นะ (คือแบบตั้งแต่ยุค 70 นู่น)
  • เค้าเอาไปใช้ทำอะไรได้บ้าง? โอ๊ย เยอะ! ตั้งแต่ระบบปฏิบัติการ (อย่าง Windows หรือ Linux) ไปจนถึงเกม

แถมๆ อีกนิดนะ ที่เค้าบอกว่ามัน "เชิงกระบวนงาน" ก็คือเราต้องบอกคอมพิวเตอร์เป็นสเต็ปๆ ไปอะ ว่าต้องทำอะไรบ้าง ไม่เหมือนภาษาใหม่ๆ ที่มันฉลาดกว่านั้นเยอะะะ

ภาษาซีสามารถทำอะไรได้บ้าง?

ลมเย็นพัดผ่านใบหน้า แสงแดดอ่อนๆ ของบ่ายแก่ๆ ในเดือนตุลาคมนี้... คิดถึงทะเล คิดถึงเสียงคลื่นกระทบฝั่ง แต่ตอนนี้ ฉันกำลังนั่งจ้องหน้าจอคอมพิวเตอร์ พิมพ์ข้อความนี้... ภาษาซี... อืมมม...

  • มันเร็วมาก เหมือนสายฟ้าแล่บ! แปลเป็นภาษาเครื่องได้ไว เร็วจนแทบไม่ทันสังเกต เหมาะกับงานที่ต้องการความแม่นยำสูง อย่างการควบคุมระบบอะไรสักอย่างนี่แหละ... ที่ต้องแม่นยำจริงๆ ต้องใช้เวลาตอบสนองน้อยมากๆ ถึงจะได้ผลลัพธ์อย่างที่ต้องการ อย่างเช่น...

  • หุ่นยนต์! ใช่แล้ว หุ่นยนต์! แขนกลที่ทำงานได้อย่างแม่นยำ ทุกการเคลื่อนไหว เชื่องช้า หรือรวดเร็ว ขึ้นอยู่กับการเขียนโปรแกรม ความแม่นยำสูง ต้องอาศัยความเร็วของภาษาซี อย่างที่ฉันบอกไป

  • ระบบอัตโนมัติ! คิดถึงโรงงานอุตสาหกรรม เครื่องจักรทำงานอย่างเป็นระบบ ซับซ้อน แต่แม่นยำ ทุกอย่างต้องตรงเวลา ตรงเป๊ะ ภาษาซีคือตัวช่วยสำคัญ มันเป็นเหมือนหัวใจที่ทำให้ทุกอย่างทำงานได้อย่างราบรื่น ไม่สะดุด

  • ความเร็ว ความแม่นยำ... เหมือนกับการเต้นของหัวใจ จังหวะที่สม่ำเสมอ แต่ทรงพลัง... ฉันชอบความรู้สึกนี้ รู้สึกถึงพลังที่ซ่อนอยู่เบื้องหลังตัวอักษรเหล่านั้น...

ดึกแล้ว ฉันควรจะพักแล้ว แต่ความคิดยังวนเวียนอยู่กับความเร็ว ความแม่นยำ และภาษาซี... มันน่าหลงใหลจริงๆ เหมือนกับความงามของแสงจันทร์ยามค่ำคืน... สวยงามและลึกลับ... พรุ่งนี้ฉันต้องลองเขียนโปรแกรมด้วยภาษาซีดูบ้างแล้ว...

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

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

โอ๊ย! ถามมาได้... ทำไมต้องเรียน C? คือถ้าเอ็งอยากเขียนโปรแกรมให้มัน วิ่งฉิว บนเครื่องคิดเลขโบราณ หรืออยากแฮ็กเข้าไปในตู้เย็นให้มันส่งข้อความบอกว่า "เบียร์หมด!"... ก็ต้อง C นี่แหละ!

  • พกพาไปได้ทั่ว: C นี่มันเหมือน รถกระบะเก่าๆ น่ะ ขึ้นเหนือลงใต้ ไปได้หมด! คือเขียนโค้ดทีเดียว เอาไปรันบน Windows, Linux, Mac (ถ้ายังเหลือคนใช้) หรือแม้แต่บน toaster ก็ยังได้! (ถ้าเอ็งบ้าพอจะทำ)
  • "แรง"... แบบโบราณ: ภาษา C เนี่ยนะ มัน ดิบ มัน เถื่อน มัน แรง คือมันใกล้ชิดกับฮาร์ดแวร์มาก! ถ้าเอ็งอยาก เค้น ประสิทธิภาพเครื่องออกมาให้หมดไส้หมดพุง ก็ต้อง C นี่แหละ! (แต่ถ้าเอ็งไม่เก่งจริง... อาจจะเค้นจนเครื่องพังแทนนะเว้ย!)
  • รากเหง้าของทุกสิ่ง: ภาษา C เนี่ย มันเป็น ปู่ ของภาษาอื่นๆ เยอะแยะ! Java, C++, C#, Python... พวกนี้มันก็ ลูกหลาน C ทั้งนั้น! ถ้าเอ็งเข้าใจ C... ภาษาอื่นก็หมูๆ (มั้ง?)

ข้อมูลเพิ่มเติม (ที่อาจจะไร้สาระ):

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

เอ้อ! แล้วอย่าลืมนะเว้ย... ถ้าเอ็งอยากเป็นโปรแกรมเมอร์ เทพๆ ที่ใครๆ ก็อยากได้ตัว... เรียนภาษา C ไว้... ไม่เสียหาย! (แต่อาจจะเสียสุขภาพจิตนิดหน่อยนะ!)

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

โครงสร้างภาษา C เบื้องต้น มีองค์ประกอบสำคัญดังนี้ครับ สังเกตนะครับว่ามันไม่ได้ตายตัวขนาดนั้น ขึ้นอยู่กับความซับซ้อนของโปรแกรมด้วย

  • พรีโพรเซสเซอร์ไดเร็กทีฟ (Preprocessor directives): ส่วนนี้ทำงานก่อนการคอมไพล์ โดยทั่วไปใช้สำหรับการรวมไฟล์หัว (header files) เช่น #include ที่เราใช้กันบ่อยๆ หรือการกำหนดค่ามาโคร เช่น #define PI 3.14159 ส่วนนี้สำคัญมากในการจัดการโค้ดให้เป็นระเบียบ และช่วยลดความซ้ำซ้อนได้ดีทีเดียว

  • ส่วนประกาศ (Global declarations): ประกาศตัวแปร ฟังก์ชัน และโครงสร้างข้อมูลต่างๆ ที่จะใช้ในโปรแกรม ส่วนนี้สำคัญมากสำหรับการจัดการหน่วยความจำและความเข้าใจโค้ด โดยเฉพาะในโปรเจคใหญ่ๆ การจัดการส่วนนี้ดีๆช่วยได้เยอะเลย ผมเองก็เคยเจอปัญหาจากการจัดการส่วนนี้ไม่ดีมาแล้ว

  • ฟังก์ชันหลัก (main() function): เป็นหัวใจหลักของโปรแกรม เป็นจุดเริ่มต้นการทำงานของโปรแกรมเสมอ ทุกอย่างจะเริ่มต้นจาก main() มันคือจุดศูนย์รวม คิดซะว่ามันเป็นผู้กำกับวงออเคสตรา ควบคุมการทำงานทุกอย่าง ในมุมมองของผม มันเป็นส่วนที่สำคัญที่สุด

  • ฟังก์ชัน (Functions): การแบ่งโปรแกรมเป็นฟังก์ชันย่อยๆ ช่วยให้โค้ดอ่านง่าย เข้าใจง่าย และดีบักง่ายขึ้น แนวคิดนี้สำคัญมากนะครับ มันเป็นการนำหลักการ "Divide and Conquer" มาใช้ในการเขียนโปรแกรม เพื่อจัดการกับความซับซ้อน

  • ส่วนอธิบายโปรแกรม (Comments): ช่วยอธิบายโค้ดให้เข้าใจง่ายขึ้น โดยเฉพาะเมื่อเวลาผ่านไปนานๆ เราอาจจะลืมรายละเอียดปลีกย่อยได้ การเขียน comment ช่วยลดเวลาในการแก้ไขโค้ดได้เยอะทีเดียว ผมเคยเจอเคสที่ comment ช่วยให้แก้ bug ได้ไวมากๆ เพราะมันอธิบายได้ชัดเจนกว่าโค้ดเสียอีก

ข้อมูลเพิ่มเติม: การเขียนโปรแกรมที่ดี ควรคำนึงถึงความสามารถในการอ่าน ความสามารถในการบำรุงรักษา และการจัดการโค้ดให้เป็นระเบียบ ไม่ใช่แค่ให้มันทำงานได้อย่างเดียว ผมเองก็พยายามฝึกฝนอยู่เสมอ เพื่อให้เขียนโค้ดได้ดีขึ้นเรื่อยๆ ลองศึกษาเพิ่มเติมเกี่ยวกับ structured programming และ object-oriented programming เพื่อพัฒนาทักษะการเขียนโปรแกรมให้ดียิ่งขึ้นนะครับ มันจะช่วยคุณได้เยอะเลยในอนาคต

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

โอเค เข้าใจแล้วนะ จัดไปแบบเรียลๆ เลย

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

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

  1. ตัวดำเนินการคำนวณ: (+, -, *, /, %) พวกบวก ลบ คูณ หาร เหลือเศษ นี่แหละ ใช้บ่อยมากกกก ตอนคำนวณนู่นนี่นั่นในโปรแกรม

  2. ตัวดำเนินการสัมพันธ์: (==, !=, >, =,

  3. ตัวดำเนินการความเสมอภาค: อันนี้จริงๆ ก็คล้ายๆ ตัวดำเนินการสัมพันธ์นะ แต่เน้นพวกเท่ากัน (= =) กับไม่เท่ากัน (!=) มากกว่า ส่วนตัวว่าใช้บ่อยนะ เวลาเปรียบเทียบค่าในโปรแกรม

  4. ตัวดำเนินการตรรกยะ: (&&, ||, !) อันนี้พวก AND OR NOT เอาไว้รวมเงื่อนไขหลายๆ อันเข้าด้วยกัน โคตรสำคัญ! เช่น เช็คว่าตัวแปร x มากกว่า 0 และ น้อยกว่า 10 อะไรแบบนี้

  • แถม: จริงๆ มันมีตัวดำเนินการอื่นๆ อีกนะ เช่น ตัวดำเนินการกำหนดค่า (assignment operators) ตัวดำเนินการระดับบิต (bitwise operators) แต่ถ้าเอาแบบหลักๆ ที่ใช้บ่อยๆ ก็ 4 กลุ่มนี้แหละ
  • เรื่องขำ: ตอนแรกๆ ที่เขียนโปรแกรม C งงมากเรื่อง == กับ = ตอนนั้นเขียนผิดชีวิตเปลี่ยนเลย! ดีที่เพื่อนช่วยไว้ทัน
  • ข้อควรระวัง: ลำดับความสำคัญของตัวดำเนินการก็สำคัญนะ ไม่งั้นคำนวณผิดแน่นอน!
  • ล่าสุด: ตอนนี้กำลังศึกษาเรื่อง concurrency ใน C อยู่ โคตรยาก! แต่ก็สนุกดี

ตัวแปร ในภาษา C มี กี่ ชนิด อะไร บาง?

โอ๊ย! เรื่องตัวแปร C นี่... ตอนเรียนปวดหัวมาก อาจารย์สอนเร็วเกิ๊น!

เอาจริง ๆ นะ ตอนสอบเขียนได้ แต่ถามตอนนี้... ขอรื้อฟื้นความทรงจำแป๊บ

เท่าที่จำได้นะ (แบบไม่ชัวร์ 100% อ่ะ) มันมีหลัก ๆ ประมาณนี้:

  • char: ตัวอักษรไง 'A', 'b' อะไรแบบนี้แหละ เก็บได้แค่ตัวเดียว
  • int: เลขจำนวนเต็ม 1, 2, -5 ไรงี้ (แต่ขนาดมันขึ้นอยู่กับเครื่องอีกที)
  • float: เลขทศนิยม 3.14, -2.5 (ความแม่นยำก็ไม่เยอะเท่าไหร่)
  • double: เลขทศนิยมเหมือน float แต่เก็บได้ละเอียดกว่า (กินเนื้อที่เยอะกว่าด้วย)

แล้วก็จะมีพวก short int, long int, unsigned int อีก... อันนี้เป็นการปรับขนาดของ int นั่นแหละ

สรุปง่าย ๆ คือ 4 แบบหลัก แต่ยิบย่อยเยอะแยะ! บอกเลยว่าจำไม่หมด! ????

เพิ่มเติม (เผื่อใครอยากรู้ลึก):

  • short int: กินเนื้อที่น้อยกว่า int (มักจะ 2 ไบต์)
  • long int: กินเนื้อที่มากกว่า int (มักจะ 4 หรือ 8 ไบต์)
  • unsigned int: เก็บเลขจำนวนเต็มบวกเท่านั้น (ไม่มีเครื่องหมายลบ) ทำให้เก็บค่าบวกได้มากขึ้น
  • void: จริง ๆ ไม่ใช่ตัวแปร แต่ใช้บอกว่าฟังก์ชันไม่คืนค่าอะไรเลย หรือใช้กับพอยน์เตอร์แบบไม่ระบุชนิด
  • _Bool: (C99 เป็นต้นมา) เก็บค่าความจริง true (1) หรือ false (0)

ปล. นี่คือข้อมูลจากความทรงจำอันเลือนลาง ถ้าผิดพลาดตรงไหนก็ขออภัยด้วย! ????

%D เป็นรหัสควบคุมอะไร?

%D คืออะไร? ไม่ใช่รหัสควบคุมที่คุ้นเคย

  • %d: จำนวนเต็ม (signed integer)
  • %u: จำนวนเต็มบวก (unsigned integer)
  • %f: ทศนิยม (floating-point number)
  • %c: อักขระเดี่ยว (single character)

ปีนี้ 2566 ฉันใช้สิ่งเหล่านี้บ่อยในการเขียนโปรแกรม C มันพื้นฐานแต่สำคัญ ความเข้าใจที่ลึกซึ้งเกิดจากการใช้งานจริง ไม่ใช่ทฤษฎีเปล่าๆ

ความเข้าใจแบบผิวเผินอันตรายเสมอ จงเรียนรู้จากความผิดพลาด อย่าประมาท

ภาษา C เหมาะกับงานอะไร?

C เหมาะกับงานใกล้ชิด Hardware. เร็ว แม่นยำ คือคำตอบ.

  • ควบคุม Hardware: แขนกล, หุ่นยนต์, ระบบอัตโนมัติ.
  • ความเร็ว: Compiler แปลภาษาเครื่องได้ไว.
  • หน่วงเวลาน้อย: งานที่ต้องการความแม่นยำสูง.

C คือรากฐาน. ระบบปฏิบัติการ Linux ก็เขียนด้วย C. Embedded systems ก็เช่นกัน. เลือกให้ถูกงาน. อย่าฝืน.