【C语言】main函数解析

一、前言

在学习编程的过程中,我们很早就接触到了main函数。在Linux系统中,当你运行一个可执行文件(例如 ./a.out)时,如果需要传入参数,就需要了解main函数的用法。本文将详细解析main函数的参数,并通过代码示例展示如何使用这些参数。

二、main函数解析

main函数的标准形式如下:

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

也可以写成

c 复制代码
int main(int argc,char** argv)

通常我们更习惯使用第一种形式。

参数说明

  1. argc:表示程序运行时发送给main函数的命令行参数的个数(包括可执行程序以及传参)。
  2. argv[]:是字符指针数组,它的每个元素都是字符指针,指向命令行中每个参数的第一个字符。
  • argv[0]指向可执行程序。
  • argv[1]指向可执行程序后的第一个字符串。
  • argv[2]指向可执行程序后的第二个字符串 。
  • argv[3]指向可执行程序后的第三个字符串 。
  • argv[argc]为NULL。

三、代码示例

c 复制代码
#include <stdio.h>

int main(int argc,char *argv[])
{
    printf("argc = %d\n",argc);
   while(argc--){
       printf("argv = %s\n",*argv);
       argv++;
   }
    
    for(int i=0;i<argc;i++){
        printf("argv[%d]= %s\n",i, argv[i]);
    }
    return 1;
}

示例运行

假设编译出来的程序名为test,运行是传入一下参数:

c 复制代码
./test 123 abc

输出结果

四、应用场景

通过main函数的参数,我们可以在运行程序时动态地传入参数。这在以下场景中非常有用:

  1. 运行时配置:通过命令行参数传递配置信息,例如日志级别、运行模式等。
  2. 启动其他进程:当通过代码启动另一个进程时,可以通过这种方式传递参数。
相关推荐
Herbert_hwt29 分钟前
C语言文件操作完全指南:从基础读写到错误处理详解
c语言
差点GDP1 小时前
C语言常用编译命令和示例
c语言·开发语言
保护我方头发丶1 小时前
ESP功能介绍
c语言·嵌入式硬件
宵时待雨1 小时前
C语言笔记归纳21:编译与链接
linux·c语言·开发语言·笔记
lingran__1 小时前
C语言内存函数详解
c语言·开发语言
superman超哥1 小时前
仓颉语言中异常捕获机制的深度剖析与工程实践
c语言·开发语言·后端·python·仓颉
zore_c2 小时前
【数据结构】队列——超详解!!!(包含队列的实现)
c语言·网络·数据结构·c++·笔记·算法·链表
南棱笑笑生2 小时前
20251219给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-5.10】后解决启动不了报atf-2的问题
linux·c语言·开发语言·rockchip
xie_pin_an12 小时前
深入浅出 C 语言数据结构:从线性表到二叉树的实战指南
c语言·数据结构·图论
总爱写点小BUG16 小时前
打印不同的三角形(C语言)
java·c语言·算法