ใช่ เราสามารถให้อาร์กิวเมนต์ในฟังก์ชัน 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.