ใช่ เราสามารถให้อาร์กิวเมนต์ในฟังก์ชัน main() ได้
อาร์กิวเมนต์บรรทัดคำสั่งในภาษา C ถูกระบุหลังชื่อของโปรแกรมในบรรทัดคำสั่งของระบบ และค่าอาร์กิวเมนต์เหล่านี้จะถูกส่งต่อไปยังโปรแกรมของคุณในระหว่างการดำเนินการโปรแกรม
argc และ argv เป็นอาร์กิวเมนต์ 2 ตัวที่ส่งต่อไปยังฟังก์ชันหลักได้
แต่ที่จริงแล้วฟังก์ชัน main() ถูกเรียกโดยระบบปฏิบัติการ (หรือโปรแกรมเชลล์) เมื่อคุณเรียกใช้โปรแกรมจากเทอร์มินัล
ไวยากรณ์
ไวยากรณ์อธิบายไว้ด้านล่าง -
int main(int argc, char *argv[]){
//Code
return 0;
} ตัวอย่าง
#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;
} ผลลัพธ์
Arg 0: G:\CP\CP programs\main with arguments.exe Explanation: The program that prints all the arguments passed to your program, including the program name itself.