Int argc, char *argv[]: có nghĩa là gì?

em có đọc vài tài liệu lập trình C và xem các bài viết trên diễn đàn mình thường thấy dòng code:

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

e vẫn chưa hiểu lắm họ truyền cho hàm main những tham số đó để làm gì ?
có ai giải thích dùm e?, Cảm ơn mọi người trước :grin:

5 Likes

Cái này khi làm việc với command line bạn sẽ hiểu rõ hơn.
Vd chuong trình sau khi compiler ra có tên a.exe
bạn chạy trên command line với lệnh
>a.exe a b c
Thì lúc đó argc=4, argv={“a.exe”,“a”,“b”,“c”} là thông tin người dùng gõ lúc chạy chương trình
Cấu trúc: argc là số lượng chuỗi trong argv, bao gồm đầu tiên là tên file thực thi, sau đó là command của người dùng

14 Likes

ý bạn là những gì mình nhập vào nó sẽ được lưu ở mảng argv àh. và 2 tham số đó có tác dụng gì cho chương trình của mình?, bạn có thể giải thích rõ hơn nữa hok, thank @Gio :grin:

5 Likes

Cảm ơn, mình đã hiểu :scream:

1 Like

Làm vậy chương trình có thể chạy từ script chứ không cần phải gõ tay vào.

1 Like

Tài liệu tham khảo: https://stackoverflow.com/questions/3024197/what-does-int-argc-char-argv-mean

2 Likes

A post was merged into an existing topic: Topic lưu trữ các post off-topic - version 3

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?