当前位置: 首页 > article >正文

【C语言】main函数解析

一、前言

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

二、main函数解析

main函数的标准形式如下:

int main(int argc,char* argv[])

也可以写成

int main(int argc,char** argv)

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

参数说明

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

三、代码示例

#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,运行是传入一下参数:

./test 123 abc

输出结果

四、应用场景

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

  1. 运行时配置:通过命令行参数传递配置信息,例如日志级别、运行模式等。
  2. 启动其他进程:当通过代码启动另一个进程时,可以通过这种方式传递参数。

http://www.kler.cn/a/525776.html

相关文章:

  • Swing使用MVC模型架构
  • SSM开发(八) MyBatis解决方法重载
  • JavaScript
  • ASP.NET代码审计 SQL注入篇(简单记录)
  • PySide(PyQT)进行SQLite数据库编辑和前端展示的基本操作
  • Java中的泛型
  • 上位机知识篇---GitGitHub
  • 在MIMIC IV数据库的derived中有bg、chemistry和vitalsign,它们都有Glucose指标,如何区分?
  • C++并发编程指南06
  • 基于springboot的校园部门资料管理系统
  • 搜索引擎快速收录:关键词布局的艺术
  • DeepSeek回答人不会干出超出视角之外的事
  • 高速PCB设计指南4——叠层设计与PCB技术
  • 【CS61A 2024秋】Python入门课,全过程记录P4(Week7 Generators开始,更新于2025/1/30)
  • 使用langchain ollama gradio搭建一个本地基于deepseek r1的RAG问答系统
  • C28.【C++ Cont】顺序表的实现
  • 详细解释java当中的所有知识点(前言及数据类型及变量)(第一部分)
  • 《攻克语言密码:教AI理解隐喻与象征》
  • Airflow:深入理解Apache Airflow 调度器
  • Github 2025-01-30 Go开源项目日报 Top10
  • Linux下多线程编程
  • MySQL 事务的隔离级别
  • 一文讲解Java中的BIO、NIO、AIO之间的区别
  • 力扣动态规划-15【算法学习day.109】
  • JavaScript 进阶(上)
  • openRv1126 AI算法部署实战之——TensorFlow TFLite Pytorch ONNX等模型转换实战