[ภาษาซี] การแปลงชนิดข้อมูล

4 Jan 2018,
Share: 

จากในบทความก่อนหน้านี้ นิพจน์จะเป็นชนิดข้อมูลประเภทเดียวกันทั้งหมด แต่ในความเป็นจริงแล้วนิพจน์สามารถประกอบด้วยข้อมูลชนิดที่แตกต่างกันได้ เราจะเรียกว่า mixed type expression แต่หลักการของโอเปอเรเตอร์นั้น โอเปแรนด์ที่จะนํามาดําเนินการด้วยโอเปอเรเตอร์จะต้องมีชนิดข้อมูลที่เหมือนกัน ภาษาซีจึงมีกฎที่จัดการนิพจน์เหล่านี้อยู่ 2 ประเภท คือ implicit type conversion และ explicit type conversion

implicit type conversion

implicit type conversion คือ คอมไพเลอร์จะแปลงชนิดข้อมูลให้อยู่ในรูปแบบที่เหมาะสมโดยอัตโนมัติ จะมีกฎการแปลงดังนี้ ถ้าในนิพจน์ประกอบไปด้วยข้อมูลหลายประเภท ภาษาซีจะทําการแปลงชนิดข้อมูลให้โดยอัตโนมัติ โดยชนิดข้อมูลที่มีนัยสําคัญตํ่ากว่าจะถูกแปลงไปเป็นชนิดข้อมูลที่มีนัยสําคัญสูงกว่าเสมอ ลําดับของนัยสําคัญของชนิดข้อมูล แสดงจากนัยสําคัญสูงไปนัยสําคัญตํา

  • long double
  • double
  • float
  • unsigned long int
  • long int
  • unsigned int
  • int
  • short
  • char

explicit type conversion

explicit type conversion คือ ผู้เขียนโปรแกรมทําการแปลงชนิดข้อมูลหนึ่งไปเป็นอีกชนิดนึ่งด้วยตัวเอง การแปลงชนิดข้อมูลนี้เรียกอีกอย่างว่า cast ซึ่งทําได้โดยระบุชนิดข้อมูลปลายทางที่ต้องการไว้ในวงเล็บ แล้ววางไว้หน้านิพจน์ที่ต้องการแปลงชนิดข้อมูล

(ชนิดข้อมุลปลายทาง)นิพจน์ที่ต้องการแปลงชนิดข้อมูล

ตัวอย่าง

int a;
(float)a;

Suggestion blogs

Go EP.10 Defer ในภาษา Go

สวัสดีครับ ในบทความนี้ก็เป็น EP.10 แล้วนะครับ โดยเนื้อหาจะเป็นเรื่องเกี่ยวกับ Defer คืออะไร ใช้ทําอะไรสําหรับท่านใดที่ยังไม่ได้อ่าน EP.9 ท่านสามารถกลับไปอ่านก่อนได้นะครับที่นี่ Go EP.9 Go Contextมาเริ่มเรียนรู้ไปด้วยกันตามหัวข้อด้านล่างเลยครับ

HTTP status codes

error code หรือ status code ที่ server ส่งกลับมาเมื่อเราเปิดเว็บ จะมีความหมายดังนี้

Arduino ตอน4 ภาษา C++ สําหรับ Arduino

สวัสดีครับ หลังจากที่เราได้เรียนรู้การใช้งาน Arduino ตั้งแต่ติดตั้งโปรแกรม Arduino IDE ไปจนถึง Upload โปรแกรมลง Arduino board ในบทความ Arduino ตอน3 ติดตั้ง Arduino IDE และเริ่มต้นเขียนโปรแกรมแรก กันไปแล้ว ในบทความนี้เราจะลงลึกการเขียนโปรแกรมควบคุม Arduino กันแบบจริงๆจังๆกันครับ โดยจะเน้นไปในส่วนของโครงสร้างของภาษา C++ สําหรับ Arduino


Copyright © 2019 - 2025 thiti.dev |  v1.55.1 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ