Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

มาตรฐานภาษาโปรแกรม C

ในปัญหานี้ เราจะเรียนรู้เกี่ยวกับมาตรฐานที่กำหนดในภาษาโปรแกรม C นี่คือวิธีมาตรฐานที่โปรแกรมควรถูกคอมไพล์อย่างเหมาะสมโดยคอมไพเลอร์ ตามที่กำหนดโดยชุมชนนักพัฒนา

เพื่อเข้าใจว่าฉันพูดถึงอะไร ให้ดูตัวอย่างโปรแกรม C ทั่วไปที่คุณทั้งหลายต้องเคยเจอและเห็นปัญหาเกิดขึ้น แต่ไม่ได้เจาะลึก

ชนิดการคืนค่าของฟังก์ชัน main() เป็น void —

ดูโปรแกรมต่อไปนี้ —

void main() {
    // program code
}

โปรแกรมนี้จะทำงานได้ถ้าใช้คอมไพเลอร์ Turbo C แตคอมไพเลอร์อื่นจะแสดงข้อผิดพลาว่าห้ามให้ main เป็น void ดังนั้นอันไหนถูกต้อง? คำตอบอยู่ในมาตรฐาน

มาตรฐานภาษาโปรแกรม C คืออะไร?

เป็นวิธีมาตรฐานที่กำหนดให้ผู้สร้างคอมไพเลอร์เกี่ยวกับการคอมไพล์โค้ด มาตรฐาน C ล่าสุดเผยแพร่ในมิถุนายน 2018 ซึ่งคือ ISO/IEC 9899:2018 หรือเรียกว่า C11 (แก้ไข: ควรเป็น C18 แต่ต้นฉบับเขียน C11)

มาตรฐานภาษาโปรแกรม C นี้กำหนดพฤติกรรมของโปรแกรม เช่น โปรแกรมจะทำงานอย่างไรอย่างเหมาะสม? วิธีที่ถูกต้องและนิยามของฟังก์ชันในบางตัวคืออะไร?

ดูตัวอย่างของ main() วิธีมาตรฐานในการประกาศฟังก์ชัน main() ตามที่กำหนดคือมีพารามิเตอร์ 0 หรือ 2 ตัว และชนิดการคืนค่าเป็น int

ไวยากรณ์

// ไม่มีพารามิเตอร์
int main() {
    /* code */
}

// มีสองพารามิเตอร์
int main(int argc, char *argv[]) {
    /* code */
}

ยังมีมาตรฐานอื่นๆ อีกมากมายในการเขียนโปรแกรมที่อาจถูกละเมิดโดยคอมไพเลอร์บางตัว