C语言中的 int main(int argc,char const *argv[])是什么意思?

作用

当主函数设置成如下样式时,可以从命令行传参给该主函数。

cpp 复制代码
int main(int argc,char const *argv[])

参数的含义

int argc:这个参数表示传递给程序的命令行参数的数量。它至少为1,因为argv0通常是程序的名字。

char const *argv\[\] 或 char *argv\[\]:这是一个指向字符指针的数组,用于存储命令行参数。argv0通常是程序的名字,argv1是第一个命令行参数,argv2是第二个命令行参数,依此类推。argv数组的最后一个元素后面是一个空指针,用于标识数组的结束。

案例

创建 example.c 文件:

c 复制代码
#include <stdio.h>  
  
int main(int argc, char const *argv[]) {  
    printf("程序名: %s\n", argv[0]);  
    printf("参数数量: %d\n", argc);  
    for (int i = 1; i < argc; i++) {  
        printf("参数 %d: %s\n", i, argv[i]);  
    }  
    return 0;  
}

编译:

bash 复制代码
gcc example.c -o example  
./example arg1 arg2 arg3

输出:

bash 复制代码
程序名: ./example  
参数数量: 4  
参数 1: arg1  
参数 2: arg2  
参数 3: arg3
相关推荐
牛油果子哥q1 分钟前
【C++前置声明与头文件】C++前置声明与头文件深度精讲:重复包含、循环依赖、重复定义报错、工程编译架构与实战解决方案
开发语言·c++
-凌凌漆-2 分钟前
Qt QML应用层框架
开发语言·qt
少司府2 分钟前
C++进阶:map和set的使用
开发语言·数据结构·c++·容器·stl·set·map
江湖中的阿龙3 分钟前
23种设计模式
java·开发语言·设计模式
xiaoshuaishuai83 分钟前
C# Avaloniaui ListBox样式及用法
开发语言·c#
天才程序YUAN6 分钟前
Windows 11 C 盘扩容完整教程:恢复分区拦路、页面文件锁盘、WinRE 重建全记录
c语言·开发语言·windows
川冰ICE6 分钟前
JavaScript进阶③|Map_Set_WeakMap_WeakSet,新型数据结构
开发语言·javascript·数据结构
0x3F(小茶)6 分钟前
STM32 Bootloader与OTA升级
c语言·stm32·单片机·嵌入式硬件·物联网
我是一颗柠檬8 分钟前
C语言最全面复习:从入门到精通(2026年)
c语言·开发语言
ch.ju9 分钟前
Java Programming Chapter 4——The set method assigns a value to the property.
java·开发语言