Void main là gì

int main(int argc, char *argv[])

int main (void)

public static void main(String [] args)

static void Main(string[] args)

def main():

Có lẽ bạn không lạ gì hàm main, hàm đầu tiên bạn viết khi học lập trình C, ngay cả khi chuyển sang một ngôn ngữ khác, nhất là các ngôn ngữ thừa kế từ C như C++, Java và C#, bạn cũng sẽ thấy một hàm tương tự. Đặc trưng của main là nó sẽ nhận vào các tham số (các tham số này được truyền cho chương trình đang chạy từ trên dòng lệnh) và trả về dữ liệu kiểu int hoặc void.

Void main là gì
Khi gọi một hàm (sqrt, rand, malloc…), bạn sẽ nhận được kết quả trả về của hàm đó, vậy giá trị trả về của hàm main sẽ trả về cho ai? Và để làm gì?
Void main là gì
Vì khi main kết thúc cũng đồng nghĩa với chương trình kết thúc, nên bên trong chương trình bạn không có cách nào lấy giá trị đó (trừ khi bạn cố ý gọi main), mà giá trị này sẽ trả về cho hệ điều hành, hệ điều hành sẽ lưu lại và cho phép chương trình kế tiếp thực thi có thể đọc được. Nhờ khả năng chuyển kết quả thực thi của một chương trình cho một chương trình khác mà ta có thể viết được các chuỗi lệnh (hay các batch scripts, bash scripts…).

Hãy mở dòng lệnh Windows và thử một ví dụ sau:

dir ABC::

echo %errorlevel%

Bạn sẽ thấy nó hiện số 1, bây giờ bạn gõ dir C:\ rồi gõ Enter, sau đó hiển thị lại biến %errorlevel% bằng lệnh echo, bạn sẽ thấy nó hiển thị giá trị 0. 0 và 1 chính là các giá trị trả về khác nhau từ hàm main (của lệnh dir).

Giờ ta thử thêm một chút nhé: Sau khi chạy lệnh dir xong, ta gõ tiếp lệnh sau:

if %errorlevel%==0 echo Lenh dir chay khong bi loi

Bây giờ câu thông báo “Lenh dir chay khong bi loi” sẽ chỉ hiển thị nếu bạn vừa dir một thư mục hợp lệ.

Void main là gì
Vậy tôi nên trả về giá trị như thế nào? Có một quy ước chung là khi chương trình kết thúc không có lỗi, ta trả về 0, đây cũng là giá trị trả về nếu bạn để kiểu trả về của main là void. Mỗi giá trị tăng dần 1, 2, 3, 4… sau đó sẽ đại diện cho một lỗi – cũng theo thứ tự nghiêm trọng tăng dần. Tất nhiên khi bạn đã quy định một mã lỗi, bạn cũng phải viết tài liệu mô tả nó để người dùng biết cách sử dụng.

Void main là gì
Ngoài errorlevel, các chương trình còn có thể giao tiếp được với nhau thông qua các kênh standard input/output, bằng cách dùng các ký hiệu như >, ,>>, |.Hãy đoán thử xem câu lệnh sau sẽ in ra gì nhé: tasklist | findstr “chrome.exe”

Void main là gì
Bạn thử nghĩ xem có biết bao nhiêu tiềm năng khi ta có thể kết nối các lệnh hoàn toàn riêng biệt với nhau?

Post navigation

  1. Hàm void main and int main

    Cho em hỏi hàm void main và int main công dụng của nó là gì và chúng khác nhau ở chỗ nào.CÓ gì cho em xin ít bài tập về C++ ( nhưng bài tập cơ bản thôi nha ) nói chung là nó liên quan đến vòng lặp For,While gì đó.
    Thanks very much !!


  2. cậu tìm ở diễn đàn mình cũng có rất nhiều bài tập có vòng lặp do ,while mà.Trong "bài tập C từ A tới Z " có nhiều lắm.


  3. Theo quy định chuẩn của C thì phải khai báo int main(...), nhằm mục đích chương trình phải trả về một giá trị nào đấy sau khi thực thi xong, báo cho hệ thống biết có lỗi xảy ra hay không hoặc cái gì đó đại loại như vậy. Tuy nhiên nhiều trình biên dịch không bắt buộc phải tuân thủ yêu cầu này (VC chẳng hạn), vì vậy hiện có sự lộn xộn giữa hai cách sử dụng, nhưng dùng cách nào cũng được, tốt nhất là theo chuẩn


  4. Hổng dám muốn xài hay không đâu! nếu dịch trên window thì luôn phải trả về giá trị!
    Mấy bạn xài TC chạy trên DOS thì đúng là muốn làm sao cũng được.


  5. bài tập c++ nè bạn


  6. void main : là hàm chính trong chương trình . Lúc nào cũng phải có nó .

    int main : là hàm con , mang tên là main , đầu ra theo dạng integer


  7. Void main là gì

    Void main là gì
    Được gửi bởi Đức Lùn
    Void main là gì

    void main : là hàm chính trong chương trình . Lúc nào cũng phải có nó .

    int main : là hàm con , mang tên là main , đầu ra theo dạng integer

    Tào lao hết sức !
    Void main là gì


  8. 1 CHƯƠNG trình C sẽ được biên dịch bắt đầu từ MAIN đó là cấu trúc rồi ko thể thay đổi được!! Còn chuyện "void or int" thì khác nhau điểm trả về thôi. CŨng giống như khi bạn viết Hàm thì Void ko có return còn int phải có return. Thế thôi !!


  9. Void main là gì

    Void main là gì
    Được gửi bởi Đức Lùn
    Void main là gì

    void main : là hàm chính trong chương trình . Lúc nào cũng phải có nó .

    int main : là hàm con , mang tên là main , đầu ra theo dạng integer

    Ko đc truyền đạt thông tin ko chính sác nha, dể làm mấy bạn mới hoc C bị nhầm lẫn nghiêm trọng lắm X-(.
    -Trong C hay bất kì 1 ngôn ngữ lập trình nào di nữa thì trong 1 file chỉ có thể có 1 hàm main() duy nhất.
    - void main() là kiểu giá trị không sác định, tức là ko cần phải trả về bất kì cái gì sau khi hàm đó chạy xong ( như hàm nhập, xuất).
    - int main(), void main(int), float main()... là sau khi chạy xong thì cuối hàm phải có return, vd return a+b; ( trả về 1 giá trị của a+b, tức là gán main = a+b sau khi chay xong ham main).
    - nói chung void,int, long ... chỉ là kiểu dử liệu trả về cho hàm thôi


  10. Void main là gì

    Void main là gì
    Được gửi bởi Đức Lùn
    Void main là gì

    void main : là hàm chính trong chương trình . Lúc nào cũng phải có nó .

    int main : là hàm con , mang tên là main , đầu ra theo dạng integer

    Ngu mà cứ tỏ ra là mình nguy hiểm !!!

    Theo chuẩn là int main, ANSI C said so. void main thì tùy compiler cho phép hay ko

    Nhiều C/C++ guru khuyến cáo dùng int main, cái gì theo chuẩn thì tốt hơn bạn ạ.