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

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

Git Repository คืออะไร

สวัสดีครับ บทความนี้เราจะมาทําความรู้จักกับ Git Repository กันนะครับ ว่าคืออะไรมีความหมายว่าอะไร

ใช้ docker-compose ใน crontab

โดยปกติแล้วเราจะไม่สามารถเรียกใช้งาน docker-compose ได้ตรงๆใน crontab แต่ถ้าต้องการใช้ ให้ใช้วิธีนี้ครับ

ระวังโดน Hack facebook โดยไม่รู้ตัว

สวัสดีครับ วันนี้ผมจะนําเสนอเรื่องราวของการ hack facebook รูปแบบหนึ่ง ซึ่งถ้าไม่ทันระวังก็อาจจะตกเป็นเหยื่อได้ รูปแบบการ hack แบบนี้เค้าเรียกกันว่า Phishing โดย hacker จะทําการปลอมหน้าเพจขึ้นมา ส่วนใหญ่จะปลอมเป็นหน้าเพจ login ของเว็บที่ hacker ต้องการ user password เช่น ถ้า hacker ต้องการ user และ password ของ facebook hacker ก็จะทําหน้า login ของ facebook ปลอมขึ้นมา เพื่อหลอกให้เหยื่อ login จากหน้าปลอมนั้น แล้วส่งข้อมูล user password ของ เหยื่อมายัง hacker


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

Build with ❤️ and Astro.

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