Chúng tôi "cần" nó, bởi vì nó được yêu cầu bởi nhiều tiêu chuẩn khác nhau.
Chúng ta có thể hoàn toàn bỏ qua giá trị, nhưng vì nó là tham số đầu tiên của main
, nên chúng ta phải có nó trong danh sách tham số. Trong C ++ (và có thể là phương ngữ C không chuẩn), bạn chỉ có thể bỏ qua tên tham số, như đoạn mã C ++ này (dễ chuyển đổi sang C):
#include <stdio.h> // C-compatible include, guarantees puts in global namespace
// program will print contents of argv, one item per line, starting from argv[0]
int main(int /*argc*/, char *argv[]) { // uncomment argc for C
//(void)argc; // uncomment statement for C
for (int i=0; argv[i]; ++i) {
puts(argv[i]);
}
return 0;
}
Trong tiêu chuẩn C, với các cài đặt cảnh báo phổ biến, tham số không sử dụng tạo ra cảnh báo, có thể được sửa bằng một câu lệnh như (void)argc;
nguyên nhân tên được sử dụng mà không cần tạo bất kỳ mã nào.
argc
rất tốt để có, bởi vì nếu không nhiều chương trình sẽ cần phải đi qua các tham số để có được số lượng. Ngoài ra, trong nhiều ngôn ngữ lập trình với mảng có độ dài, không có bất kỳ argc
tham số nào , chỉ có một mảng với các mục.
int argc(char *argv[])
làm chính xác này :-))