Có, ta có thể truyền đối số cho hàm main().
Tham số dòng lệnh trong C được chỉ định sau tên chương trình trong dòng lệnh hệ thống, các giá trị này được truyền cho chương trình khi thực thi.
argc và argv là hai đối số có thể truyền cho main.
Nhưng hàm main() thực tế được gọi bởi hệ điều hành (hoặc shell) khi chạy chương trình từ terminal.
Cú pháp
Cú pháp như sau:
int main(int argc, char *argv[]) {
// Code
return 0;
}
Ví dụ
#include <stdio.h>
int main(int argc, char *argv[]) {
int i;
for (i = 0; i < argc; i++) {
printf("Arg %d: %s\n", i, argv[i]);
}
return 1;
}
Kết quả
Arg 0: G:\CP\CP programs\main with arguments.exe Giải thích: Chương trình in tất cả đối số truyền cho chương trình, bao gồm tên chương trình.