当前位置: 首页 > 知识库问答 >
问题:

关于argc(不知道它是什么意思)

轩辕瑞
2023-03-14

这是一个相当简单的问题,但我不能就此罢休。我最近又开始使用C语言了(一开始并没有太多的经验),所以我可以更好地理解引擎盖下发生的事情。我当然知道,argc和argv在传递给main()时,分别表示参数计数和参数向量。我想弄清楚的是编译器如何将int argc解释为从命令行传递的参数数。如果我编写了一个简单的函数,试图模拟main(即int testfunc(int argc,char*argv[]),并传入一个字符串,编译器会像我所期望的那样抱怨:“应该是int,但参数的类型是char*”。当命令行参数被传递到main()时,这有什么不同的解释?

共有2个答案

梁英喆
2023-03-14

您不需要自己传递argc值(例如,从命令行),它是由您的环境(运行时)提供的,就像argc的确切内容一样[以下注释]

详细说明,C11,第§5.1.2.2.1章(指标)

>

  • argc的值应为非负值。

    argv[argc]应为空指针。

    如果argc的值大于零,则通过argv[argc-1]的数组成员argv[0]应包含指向字符串的指针,这些字符串在程序启动之前由主机环境给定实现定义的值。目的是向程序提供在程序启动之前从托管环境中的其他位置确定的信息[注意开始]如果主机环境无法提供大写和小写字母的字符串,则实现应确保以小写字母接收字符串[注释结束]

  • 白子默
    2023-03-14

    在常见的C实现中,main不是进程启动时调用的第一个例程。通常,它是一些特殊的入口点,如\u start,在链接程序时由内置在程序中的C库提供。此特殊入口点处的代码检查传递给它的命令行信息(在C之外的某种方式,特别是操作系统),并为main构造参数列表。在完成这项工作和其他工作之后,它将调用main

     类似资料:
    • 问题内容: 打电话时我得到一个。这是什么意思?我怎么知道这个意思? 问题答案: 您可以用来获取易于理解的错误号字符串。这是由相同的字符串打印出来的,但是如果您要格式化错误消息而不是标准错误输出,这将很有用。 例如: Linux还支持显式线程安全变体。

    • 我想发送用户的电子邮件检查副本 这是我的背部控制器 这是我的前控制器 这是我的观点 当我使用“console.log”检查时,前端控制器可以正确地获取用户的电子邮件。但是在后面的控制器中,RequestParam什么都没有,只有NULL没有错误代码,除了'nullPointerException'。 我想这不是沟通错误。我是不是错过了什么?谢了!

    • 本文向大家介绍你知道什么是html5plus吗?相关面试题,主要包含被问及你知道什么是html5plus吗?时的应答技巧和注意事项,需要的朋友参考一下 https://www.jianshu.com/p/cc2b89474144

    • 本文向大家介绍你知道什么是REPL吗?相关面试题,主要包含被问及你知道什么是REPL吗?时的应答技巧和注意事项,需要的朋友参考一下 REPL(Read Eval Print Loop:交互式解释器) 表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并接收系统的响应。装有node环境的命令行窗口

    • 本文向大家介绍你知道什么是流体排版吗?说说它的原理是什么?相关面试题,主要包含被问及你知道什么是流体排版吗?说说它的原理是什么?时的应答技巧和注意事项,需要的朋友参考一下 在文档流中,内联元素按内联方向显示,即词语在依据文件写作模式的句子中表示的方向。块元素则一个接一个地显示,就像该文档的写作模式中的段落一样。因此在流体排版中,内联元素从左边开始一个接一个地显示,块元素从顶部开始向下显示并移动页面

    • 问题内容: 如标题所述,有哪些不同的文档类型?它们的含义是什么?我注意到从切换到IE7时,布局看起来有些不同 至 还有其他的吗?影响或后果是什么? 谢谢! 问题答案: 一个 文档类型 或 文档类型声明 关联与文档 的文档类型定义 。 该 文档类型定义 是一个XML文档的标准。XML和XHTML文档都有许多DTD。XML本身并没有太多的架构或一组非常具体的规则,除了要求一切都必须格式正确。您可以将D