C语言main()函数

C语言main()函数

argc(argument count)

在C或C++程序中,argc(argument count的缩写)是一个由程序运行时环境自动提供的整数,用于指示传递给main函数的命令行参数的数量。因此,不需要(也不应该)手动为argc赋值。

argv(argument vector)

当从命令行运行程序时,操作系统会解析命令行上的参数,计算它们的数量,并将这个数量作为argc的值传递给main函数。同时,操作系统还会创建一个字符指针数组argv,用于存储每个参数的字符串表示,并将这个数组的指针传递给main函数。

示例

以下是一个简要的有参示例(无参就不说了),说明如何在命令行上运行程序并观察argc和argv的行为:

  1. 将以下C代码保存到一个名为main.c的文件中:

    c 复制代码
    #include <stdio.h>
    
    int main(int argc, char* argv[]) { //char* argv[]等价于 char** argv
        printf("argc = %d\n", argc);
        for (int i = 0; i < argc; i++) {
            printf("argv[%d] = %s\n", i, argv[i]);
        }
        return 0;
    }
  2. 使用C编译器编译这个文件,例如使用gcc:

    bash 复制代码
    gcc -o myprogram main.c
  3. 在命令行上运行生成的可执行文件,并传递一些参数:

    bash 复制代码
    ./myprogram Hello World 1024
  4. 观察输出:

    复制代码
    argc = 4
    argv[0] = ./myprogram
    argv[1] = Hello
    argv[2] = World
    argv[3] = 1024

在这个例子中,argc的值是4,因为程序名(./myprogram)和三个参数(hello、world、123)都被计算在内。argv数组包含了这些参数的字符串表示,其中argv[0]是程序名,argv[1]到argv[3]是传递的参数。

注意:不需要手动为argc赋值,它是由运行时环境根据传递给程序的命令行参数的数量自动设置的。

相关推荐
沫璃染墨1 小时前
《Qt从零入门系列(十三):QSS样式表详解——从选择器与层叠规则到控件美化实战》
开发语言·css·c++·qt·ui·qt6.3·qss
达子6662 小时前
RUST 图解 第 3 章:通用编程概念(Common Programming Concepts)
开发语言·算法·rust
道尔柯南2 小时前
C++ 面向对象编程入门:类和对象(上)
开发语言·c++·算法
楠楠子呀2 小时前
英语、西语、阿语客户各开一个口:多语言获客的分流方案
开发语言·javascript·ecmascript·跨境电商·whatsapp·营销工具
Navigator_Z2 小时前
LeetCode //C - 1288. Remove Covered Intervals
c语言·算法·leetcode
tachibana22 小时前
使用for range 的时候,它的地址会发生变化吗?
开发语言·后端·golang·go·语法
临床数据科学和人工智能兴趣组3 小时前
正则表达式的基础语法的基本符号
开发语言·人工智能·python·正则表达式·r语言·r语言-4.2.1·workbudyy
王中阳Go3 小时前
Go 后端转 AI:非科班怎么补?一张 3 列路线表(可保存)
开发语言·人工智能·后端·python·golang·大语言模型
geats人山人海3 小时前
java 4继承
java·开发语言
aqiu1111114 小时前
【C++算法打怪专栏】C++ `unordered_set` 常用初始化与插入方法总结
开发语言·c++·算法