Trong bài toán này, chúng ta sẽ tìm hiểu về các tiêu chuẩn được định nghĩa trong ngôn ngữ lập trình C. Đây là những cách tiêu chuẩn mà chương trình sẽ được biên dịch một cách lý tưởng bởi trình biên dịch theo định nghĩa của cộng đồng phát triển.
Để hiểu những gì tôi đang nói, hãy lấy một ví dụ dễ hiểu về một chương trình C phổ biến mà tất cả các bạn chắc hẳn đã gặp phải và đã thấy sự cố sắp xảy ra nhưng chưa đi sâu vào nó.
Kiểu trả về void của hàm main () -
Xem chương trình sau -
void main() { //program code }
Chương trình này sẽ chạy ok nếu chúng ta sử dụng trình biên dịch turbo c nhưng các trình biên dịch khác gặp lỗi rằng main không thể bị vô hiệu. Vì vậy, cái nào là chính xác? Câu trả lời được đề cập trong các tiêu chuẩn.
Tiêu chuẩn ngôn ngữ lập trình C là gì?
Đây là cách tiêu chuẩn được xác định cho người tạo trình biên dịch về việc biên dịch mã. Tiêu chuẩn C mới nhất được phát hành vào tháng 6 năm 2018 là ISO / IEC 9899:2018 còn được gọi là C11.
Tiêu chuẩn ngôn ngữ lập trình C này xác định hành vi của chương trình, tức là Chương trình sẽ chạy như thế nào một cách lý tưởng? Các cách và định nghĩa đúng về một số hàm tích hợp là gì?
Hãy xem ví dụ về hàm main (), cách tiêu chuẩn để khai báo hàm main () như được mô tả là với 0 hoặc 2 tham số và với kiểu trả về là int.
Cú pháp
// No parameter int main() { /* code */ } // Two parameter int main(int argc, char *argv[]) { /* code */ }
Có rất nhiều tiêu chuẩn khác trong lập trình có thể bị vi phạm bởi một số trình biên dịch.