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

4 Jan 2018

Share to:

จากในบทความก่อนหน้านี้ นิพจน์จะเป็นชนิดข้อมูลประเภทเดียวกันทั้งหมด แต่ในความเป็นจริงแล้วนิพจน์สามารถประกอบด้วยข้อมูลชนิดที่แตกต่างกันได้ เราจะเรียกว่า 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;

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

Build with ❤️ and Astro.

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