C语言之argc、argv与main函数的传参

作者 : admin 本文共1529个字,预计阅读时间需要4分钟 发布时间: 2024-06-11 共1人阅读

一 :谁给main函数传参

        (1)调用main函数所在的程序的它的父进程给main函数传参,并且接收main函数的返回值

二 :为什么需要给main函数传参

        (1)首先mian函数不传承是可以的,也就是说它的父进程调用子程序并且给子程序传参不是必须的。int main(void) 这种形式就代表程序员不需要给main函数传参

#include u


int main(void)
{



    printf("boy.
");            //输出打印一个boy.
    
    return 0;

}

        (2)有时候程序员希望程序有一种灵活性,所以在选择执行程序时通过传参来控制程序中的运行,达到不需要重新编译程序就可以改变程序运行的结果的效果

        

//但是当程序员需要输出girl时就只能去通过修改源码来进行操作
#include 


int main(void)
{



    printf("girl.
");

    return 0;
}

三 :表面上:给mian函数的传参是怎么实现的?

        (1)给main函数传参通过argc和argv这两个C语言预定的参数来实现

        (2)argc是int类型 ,表示运行程序时给mian函数传递了几个参数

        (3)argv是一个字符串数组,这个数组用来存储多个字符串,每个字符串就是我们给main函数传的一个参数,argv[0]就是程序员给这个main函数的第一个参数,argv[2]就是程序员给这个main函数的第二个参数…..依次类推

         

//实现给main函数进行传参的操作

#include 
#include 

int main(int argc,  char *argv[])
{
    
     int i = 0;

    printf("perameternum : %d
",argc);   
    for(i=0;i

     运行流程:首先用gcc编译链接生成可执行程序 -> 然后执行程序进行传参 第一个参数是./a.out,第二个参数是ab,第三个参数是abc、第四个参数是abcd 

        第一行:编译链接生成可执行程序

        第二行:运行可执行程序并进行传参

        第三行:输出打印了运行时main函数传了几个参数的值‘

        第四行:第0个传的参数的字符串

        第五行:第1个传的参数的字符串

        ......

      C语言之argc、argv与main函数的传参插图

        

//然后这里通过给main函数传参来进行不改变源码来实现想要的结果

#include 
#include 

int main(int argc,  char *argv[])
{
    
     int i = 0;

    printf("perameternum : %d
",argc);   
    for(i=0;i

         运行步骤:首先使用gcc编译链接生成可执行程序 -> 然后执行程序 进行传参 第0个参数为./a.out 第1个参数为0

        运行结果:由于第1个参数传的为0,所以打印输出的结果为boy.

   C语言之argc、argv与main函数的传参插图(1)

       

        当给main函数第一个传参传参为1时程序运行的结果:输出为girl.

        C语言之argc、argv与main函数的传参插图(2) 

        当给main函数第一个参数传参不为0也不为1时:

        C语言之argc、argv与main函数的传参插图(3) 

        

        当不给main函数第一个参数传参时:

        C语言之argc、argv与main函数的传参插图(4) 

         

四 :实质上:给mian函数的传参是怎么实现的

        (1)其实是程序在被调用时操作系统层面进行的传参,程序员在使用linux系统下进行编程时只需要执行可执行程序并且将要传的参数给出即可,操作系统会帮程序员进行操作,无需程序员手工进行

五:给main函数传参要注意什么

        (1)main函数传参都是通过字符串进行的

        (2)程序被进行调用时传参,各个参数是通过空格进行分隔的

        (3)在程序中使用argv是要先检查argc,一旦不进行检查可能会出现错误

本站无任何商业行为
个人在线分享 » C语言之argc、argv与main函数的传参
E-->
© 2018 Theme by - 本站无任何商业行为 & WordPress Theme. All rights reserved 蒙ICP备2023002302号-2