关于main函数

深度剖析c语言main函数---main函数的返回值   在接下来的几篇博文中,我将对c语言的main函数进行深入的剖析,分别从函数返回值,函数参数,以及函数的执行顺序对main函数作一总结。本文主要聊聊main函数的返回值。 main函数的返回值   main函数的返回值用于说明程序的退出状态。如果返回0,则代表程序正常退出。返回其它数字的含义则由系统决定。通常,返回非零代表程序异常退出。 void main()   有一些书上的,都使... 阅读详情
main()主函数 

    每一C 程序都必须有一main()函数, 可以根据自己的爱好把它放在程序的某
个地方。有些程序员把它放在最前面, 而另一些程序员把它放在最后面, 无论放
在哪个地方, 以下几点说明都是适合的。
    1. main() 参数
    在Turbo C2.0启动过程中, 传递main()函数三个参数: argc, argv和env。
     * argc:  整数, 为传给main()的命令行参数个数。
     * argv:  字符串数组。
              在DOS 3.X 版本中, argv[0] 为程序运行的全路径名; 对DOS 3.0
              以下的版本, argv[0]为空串("") 。
              argv[1] 为在DOS命令行中执行程序名后的第一个字符串;
              argv[2] 为执行程序名后的第二个字符串;
              ...
              argv[argc]为NULL。
     *env:  安符串数组。env[] 的每一个元素都包含ENVVAR=value形式的字符
串。其中ENVVAR为环境变量如PATH或87。value 为ENVVAR的对应值如C:/DOS, C:
/TURBOC(对于PATH) 或YES(对于87)。
    Turbo C2.0启动时总是把这三个参数传递给main()函数, 可以在用户程序中
说明(或不说明)它们, 如果说明了部分(或全部)参数, 它们就成为main()子程序
的局部变量。
    请注意: 一旦想说明这些参数, 则必须按argc, argv, env 的顺序, 如以下
的例子:
     main()
     main(int argc)
     main(int argc, char *argv[])
     main(int argc, char *argv[], char *env[])
    其中第二种情况是合法的, 但不常见, 因为在程序中很少有只用argc, 而不
用argv[]的情况。
    以下提供一样例程序EXAMPLE.EXE,  演示如何在main()函数中使用三个参数:
     /*program name EXAMPLE.EXE*/
     #include <stdio.h>
     #include <stdlib.h>
     main(int argc, char *argv[], char *env[])
     {
          int i;
          printf("These are the %d  command- line  arguments passed  to
                  main:/n/n", argc);
          for(i=0; i<=argc; i++)
            printf("argv[%d]:%s/n", i, argv[i]);
          printf("/nThe environment string(s)on this system are:/n/n");
          for(i=0; env[i]!=NULL; i++)
               printf(" env[%d]:%s/n", i, env[i]);
     }
    如果在DOS 提示符下, 按以下方式运行EXAMPLE.EXE:
    C:/example first_argument "argument with blanks"  3  4  "last  but
one" stop!
    注意: 可以用双引号括起内含空格的参数, 如本例中的:   "  argument
with blanks"和"Last but one")。
    结果是这样的:
     The value of argc is 7
     These are the 7 command-linearguments passed to main:
     argv[0]:C:/TURBO/EXAMPLE.EXE
     argv[1]:first_argument
     argv[2]:argument with blanks
     argv[3]:3
     argv[4]:4
     argv[5]:last but one
     argv[6]:stop!
     argv[7]:(NULL)
     The environment string(s) on this system are:
     env[0]: COMSPEC=C:/COMMAND.COM
     env[1]: PROMPT=$P$G            /*视具体设置而定*/
     env[2]: PATH=C:/DOS;C:/TC      /*视具体设置而定*/
 
     应该提醒的是: 传送main() 函数的命令行参数的最大长度为128 个字符 (包
括参数间的空格),  这是由DOS 限制的。
-------------------------------------------------------------------------

几个相关的链接http://www.cnread.net/cnread1/dnwl/cxsj/c/cyyb/031.htm
http://www.cnread.net/cnread1/dnwl/cxsj/index.html

编程语言一定需要main函数吗?函数入口一定是main吗?main方法可以是private私有?main函数一定返回int吗?exit(n)并不完全等价main函数return (n)? 为了配合shell获取返回值,一般而言shell认为程序返回值为0代表正确,非0代表失败。 阅读详情

相关推荐

编程语言一定需要main函数吗?函数入口一定是main吗?main方法可以是private私有吗?main函数一定返回int吗?exit(n)并不完全等价main函数return (n)?

为了配合shell获取返回值,一般而言shell认为程序返回值为0代表正确,非0代表失败。

编程语言开发、框架原理、编程思想、最佳实践技巧经验分享。致力于各种编程技术的技巧经验干货分享,讲解开发避坑技巧,追踪开发前沿技术,实战展开解决难题。 程序员小迷助您在编程路上越走越好! 1009

C语言main函数的参数

在我们之前编写的C程序中,main函数是没有参数的,但是在实际开发中,main函数一般都需要参数,没有参数的情况极少。 main函数的参数是从命令提示符下执行程序的时候传入,例如ls 命令。 在以上示例中ls命令有两个参数,-l和book1*。 main函数的参数 main函数有三个参数,argc、argv和en...

C语言技术网-码农有道 2万+

XianYuAutoDeliveryX:基于闲鱼API与大模型的智能自动发货系统实践

本文详细介绍了如何利用XianYuAutoDeliveryX系统,结合闲鱼API与大语言模型,构建一个智能自动发货解决方案。该系统能实现买家付款后秒级自动发货,并通过对接ChatGPT等大模型智能回复买家咨询,有效解放卖家时间,提升虚拟商品店铺的运营效率和客户体验。

bush的博客 1016

C语言(main函数的参数)

main函数的参数。

2301_79501633的博客 786

Ethercat学习-从站源码生成

移植平台GD32F450,从站芯片AX58100

西澳峰的博客 9220

避开STM32H7的‘保护陷阱’:从Option Byte机制深度解析读写保护原理与预防

本文深度解析STM32H723VGT6的Option Byte保护机制,详细讲解RDP读保护和WRP写保护的工作原理及配置方法,并提供硬件设计防御策略和软件预防性编程技巧,帮助开发者避免误触发保护机制导致芯片锁定的问题。

weixin_33686714的博客 441

27 C 语言编程核心:main 主函数(基本形式、返回值、参数、命令行传参)、多文件编程实践

本文深入解析了 C 语言编程中的核心要点,包括 main 主函数的作用与基本形式、命令行参数 argc 与 argv 的处理方式、多文件编程的项目结构搭建与编译方法。通过实例演示了如何利用命令行参数实现程序动态输入,以及多文件编程如何提升项目可维护性与扩展性。

大模型全栈工程师 · Thanks_ks 3026

紫光PG2L100H平台DDR3 IP核调试实战:从AXI接口到状态机设计的避坑指南

本文详细介绍了在紫光PG2L100H FPGA平台上调试DDR3 IP核的实战经验,重点解析了AXI接口的特殊行为和状态机设计的关键技巧。通过具体代码示例和调试方法,帮助开发者规避常见陷阱,实现高性能DDR3控制器设计,达到1.2GB/s的稳定带宽。

weixin_28717969的博客 218

【C语言】字符串(main函数参数)

C语言字符串和main函数参数介绍与实例演示

Sudley的博客 3214

量化交易新手必看:如何用Python快速接入XTP极速交易系统(附避坑指南)

本文为量化交易新手提供了使用Python快速接入中泰证券XTP极速交易系统的完整指南。文章详细介绍了XTP系统的微秒级性能优势、与CTP系统的核心区别,并逐步讲解了环境配置、API连接、资金查询、下单撤单等关键步骤,同时分享了网络维护、订单处理等实战避坑技巧,帮助开发者高效对接专业交易柜台。

life6的博客 660

硬件级Dalvik字节码粒度无痕HOOK及VMP取址码定位分析

2.通过硬件读写断点的输出信息 可知pc寄存器就是art解释器的取码地址 直接硬件执行断点在这个pc 即可直接trace所有的smali执行流 通杀所有机型系统。本文即将探讨的是 如何在硬件级别实现dalvik bytecode粒度的无痕拦截技术 并实现鼠标点击一键hook 指哪儿打哪儿 感受 button power 的强大魅力!4.由于硬件断点是同步的 断下后可随时硬件dump下这一瞬间的app内存映像 写入unicorn的内存模拟执行。解释器在解释执行前必会读取内存中的bytecode。

2503_90751789的博客 1085

深入理解C语言:main函数的奥秘

在C语言中,main函数是程序执行的起点。每个C程序都必须包含一个名为main的函数。main函数的返回类型通常是int。\n");return 0;main函数在C语言中具有特殊的重要性,它是程序执行的起点。通过本文的介绍,读者应能理解main函数的基本结构,包括其参数和返回值的作用。掌握main函数的使用对于编写和理解C语言程序至关重要。main函数不仅是C程序执行的起点,还提供了与程序执行环境交互的接口。通过本章的学习,读者应能深入理解main。

极客代码 6859

15、虚拟环境中的数据保护与恢复方案解析

本文深入解析了虚拟环境中两种重要的数据保护与恢复解决方案:RecoverPoint for Virtual Machines(RP4VM)在VxRail上的设计,以及Veeam Backup & Replication(VBR)与VxRail的集成方案。文章详细介绍了RP4VM的网络布局、故障转移场景及其相关问题,以及VBR的架构设计、备份与复制流程、许可证选项及其多平台支持特性。此外,还探讨了RP4VM与VBR结合使用的综合解决方案,以及未来数据保护领域的发展趋势,如智能化管理、云原生集成和零信任架构,为

t4y5u6i7o的博客 96

python中的main函数

python是一种解释型脚本语言,和C/C++语言不同,C/C++程序从main函数开始执行,python程序从开始到结尾顺序执行。先总结下python中的main函数的作用:让模块(函数)可以自己单独执行(调试),相当于构造了调用其它函数的入口,这就类似于C/C++里面的main函数了。 一方面:我们想要自己单独执行(调试) 这里我们实际调试一下(假设这个文件是test.py): #t...

菜鸟奇遇记 13万+

JMeter压力测试全攻略:从入门到精通

本文系统讲解JMeter压力测试的完整流程与结果评估方法。开篇介绍压力测试的核心概念及JMeter工具特性,随后从环境搭建入手,详细说明JDK配置、JMeter安装及中文界面设置。主体部分围绕测试流程展开,涵盖测试计划创建、线程组参数调优、HTTP请求配置、断言与监听器添加等实操步骤;结果评估环节深入解析聚合报告指标、结果树分析及性能瓶颈定位方法,并通过电商接口测试案例演示全流程应用。文末总结关键要点,为读者提供从基础操作到分布式压测、性能调优的进阶学习方向,助力掌握JMeter在系统性能评估中的核心应用。

邓邓子的博客 2416

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Python中main函数

Python是最需要学习的编程语言之一。Python中的main函数充当任何程序的执行点。定义Python编程中的main函数是启动程序执行的必要之处,因为它只在程序直接运行时执行,而不是在作为模块导入时执行。 什么是Python函数? 函数是可重用代码的挡路,它构成了使用编程语言执行操作的基础。它们用于对输入数据执行计算,并将输出呈现给最终用户。 我们已经了解到,函数是为完成特定任务而编写的一段代码。Python名称中有三种类型的函数内置函数、用户定义函数和匿名函数。现在,Main函数就像Python中的

IT赶路人的博客 6万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

c语言其他函数调用main函数,C语言中的main函数以及main函数是如何被调用的

main函数是C语言中比较特殊的函数,C程序总是从main函数开始执行,main函数的原型是:int main(int argc, char *argv[]);其中argc是命令行参数的个数,argv是指向参数的各个指针所构成的数组。当内核执行C程序时(使用一个exec函数),在调用main前先调用一个特殊的启动例程(什么鬼?)。可执行程序文件将此启动例程指定为程序的起始地址——这是由连接编辑器设...

weixin_29179311的博客 7931

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

C++ main函数及main函数的参数

C++ main函数及main函数的参数 1、main函数的几种形式 int main() int main(int argc) int main(int argc,char** argv)//int main(int argc,char* argv[]) 2、argc表示命令行参数的个数、argv表示命令行参数的值 (1)写个小代码,用命令行运行 #include<stdio.h> int main(int argc, char* argv[]) { printf("argc=%d \n

qq_44873474的博客 3094

python中main函数的用法

什么场景下会有main函数? 当该python脚本被作为模块(module)引入(import)时,其中的main()函数将不会被执行。 main函数的作用? __ name__ == '__ main__'是Python的main函数入口。并非说,加入这句才能使用python xxx.py来执行,而是说,这里可以判断,当前是否是直接被python直接调用执行。 main为什么只有文件当作执行程序...

python学习者的博客 1万+

python main函数返回值,Python main函数

Python main函数Python main函数教程Python 中的 main() 函数只有当该 Python 脚本直接作为执行程序时才会执行,当该 Python 脚本被作为模块被导入时,其中的 main() 函数将不会被执行。这是由于两方面原因,一方面,main 函数是所有执行程序的入口,另一方面,Python 的解释器是顺序执行脚本的并且不会调用任何不属于程序本身的代码和Python m...

weixin_35677043的博客 7537

main函数详解

c语言main函数正确写法: int main(void) int main(int argc, char **argv) int main(int argc, char *argv[ ]) main函数的返回值 函数在设计的时候设计了参数和返回值,参数是函数的输入,返回值是函数的输出。函数的额本质是一段代码,一个数据处理器。因为函数需要对外输出数据(实际上是函数运行的一些结果值),因此函数需要返回值。 从形式上来说,函数被另一个函数所调用,返回值作为函数表达式的值返回给调用函数...

ygrea的博客 6278

main函数的参数

main函数可以不带参数,也可以带参数,这个参数可以认为是 main函数的形式参数。C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv。因此,main函数的函数头可写为:     main (argc,argv) C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。加上形参说明后,main函数的函数头应写为:

yhawaii的专栏 5万+

看ACE如何劫持main函数

看ACE如何劫持main函数 用过ACE的都知道,程序的main函数必须写成int main (int argc, char *argv[])的形式,这是为什么呢,看了ACE的源码才知道,原来是…… 看ace/OS_main.h中的一段代码,就会恍然大悟: #       define main \ ace_main_i (int, char *[]); \ ACE_BEG

iw1210的专栏 1789

认识main函数

一、main函数的写法 51单片机里面我们写main函数都是以 https://blog.youkuaiyun.com/z_ryan/article/details/80985101 void main() {} 这种形式来写的,其实这样写在51中是可以的,但是严格来说是不规范的。 规范的写法一共有三种: 1.无参数 main 函数不带参数的写法 1 #include <stdio.h> ...

C学习 1569

Kotlin main函数

程序从main()开始执行;你可以用参数args向程序传入数据;你可以通过命令行或 IDE 设置这些参数;Kotlin 1.3 以后,main()可以没有参数;同一个文件只能有一个带参数的main()和一个不带参数的main();其他写法的main()会被当作普通函数,不会自动运行。现在,你已经学会了使用main()和程序参数了。你可以不改代码,仅通过命令行传参就改变程序行为。这是每个程序员都必须掌握的基础技能!

Hello World! 843

c++中的main函数

c++句法要求,Main()函数定义以函数头int main()开始。c++中函数可以被其他函数激活或调用,函数头描述了函数与调用它的函数之间的接口。通常由函数返回类型 函数名 (参数列表/形参列表) 的形式构成。但是这样的通用格式用于main函数有点奇怪,因为通常不会从程序的其他部分调用main,main()通常被启动代码调用,main是作为程序与操作系统之间的接口。这里简单介绍一下启动代码简而言之,下面的函数头表明main函数可以给调用它的函数返回一个整数值,且不从调用它的函数那儿获取任何信息 有些地方

m0_46626894的博客 7461
上一篇: 常用javascript函数
下一篇: 对XHTML的一些简要介绍
firerain
博客等级 码龄25年 4粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值