Đơn giản chỉ cần đặt bản chất nhất cho tất cả các câu hỏi của bạn là truyền thống và sự phù hợp. dãy công cụ, hệ điều hành, vv biết đường mà rằng thủ tục này được gọi là main(), phải được gọi ra đầu tiên từ không gian mã người dùng (chương trình) ...
Bây giờ cụ thể: 1) Bởi vì sự phù hợp như tôi nói. Bạn không cần khai báo vì các thanh công cụ và hệ điều hành đã biết về chính. Ngoài ra còn có các hàm tương thích khác như exit().
2) Khi thời gian chính trả về thì hệ điều hành có thể có kết quả ngược lại. Thường không có nghĩa là lỗi. Vì vậy, khi U đang sử dụng tập lệnh hoặc các chương trình khác, hãy gọi chương trình của bạn, ví dụ: Hàm main(), bạn có thể kiểm tra xem nó có thành công hay không.
3) Trả lại lỗi khác có nghĩa là 0. Nhưng thực tế bạn có thể giải thích giá trị đó theo cách bạn muốn. Nhưng như tôi đã nói hệ điều hành có thể có kết quả.
Thông tin bổ sung: main() thực sự không phải là chức năng ĐẦU TIÊN (bạn đã viết) sẽ được gọi khi bạn bắt đầu chương trình. NHƯNG thực sự hệ điều hành và chuỗi công cụ tạo thuận lợi cho các cuộc gọi khác trước khi chính của bạn, để thiết lập môi trường, làm khởi hoặc bất cứ điều gì. Nhưng bạn không biết điều đó trực tiếp khi bạn viết mã của mình và bạn không phải đối phó với điều đó và nghĩ về điều đó chút nào. Trong các hệ thống nhúng, thường có một số hàm mức rất thấp được gọi để thiết lập đồng hồ chính CPU, ngắt, ngăn xếp, vv Một số chuỗi công cụ như IAR thực sự có thể cho phép bạn thực thi mã của riêng bạn trước khi gọi chính.
Hy vọng điều này giúp :)
'main()' thậm chí còn có riêng [trang Wikipedia] của nó (http://en.wikipedia.org/wiki/Main_function) –
1) là sai - nguyên mẫu không phải là "phải" – aragaer
@ user2718426 Thủ trưởng, 'làm tròn những phần này, chúng tôi muốn giữ cho mỗi câu hỏi chỉ với một câu hỏi tại một thời điểm. Vì vậy, bài đăng của bạn có vẻ như ba câu hỏi. Mặc dù bạn sẽ tìm thấy rất nhiều bài viết về lần thứ hai, như http://stackoverflow.com/questions/9356510/int-main-vs-void-main-in-c –