为什么 argc 是“int”(而不是“unsigned int”)?

2024-01-09

为什么命令行参数计数变量(传统上argc) an int而不是unsigned int?这有技术原因吗?

当我试图摆脱所有已签名的未签名比较警告时,我总是忽略它,但从来不明白为什么它是这样的。


事实上,最初的 C 语言是这样的:默认任何变量或参数被定义为 int 类型,可能是另一个因素。换句话说,你可以:

  main(argc, char* argv[]);  /* see remark below... */

而不是

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

Edit:实际上,正如亚伦提醒我们的那样,最原始的语法应该是这样的

  main(argc, argv) char **argv {... } 

由于“原型”是后来才推出的。这大约是在每个人至少花费了至少 10 个小时来追踪与类型相关的微妙(以及不那么微妙)的错误之后发生的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 argc 是“int”(而不是“unsigned int”)? 的相关文章

随机推荐

  • Sanctum 和 Postman 的 SPA 身份验证问题

    我目前正在尝试使用 Laravel 8 19 0 和 Postman 7 36 1 测试 SPA 但我不断从受 auth sanctum 保护的路由收到 未经身份验证 的响应 即使我已正确登录 据我所知 我已经完全遵循了文档https la
  • 无法在 pyspark 中应用 pandas_udf

    我正在附加到 AWS EMR 实例的 jupyter 笔记本上尝试一些与 pyspark 相关的实验 我有一个 Spark 数据框 它从 s3 读取数据 然后过滤掉一些内容 使用打印模式df1 printSchema 输出如下 root i
  • 如何将 CFArray 转换为 Swift 数组?

    根据 Apple 的 Using Swift with Cocoa and Objective C 在 Swift 中 您可以互换使用每对免费桥接 Foundation 和 Core Foundation 类型 这使得使用 Core Fou
  • 在 SQL 中添加总计超过 24 小时的时间

    我试图从几行中添加时间 当它们加起来超过几个小时时 我没有得到我正在寻找的正确结果 想要编写脚本TotalTime允许 HH 中超过 24 个 不必是日期时间数据类型 StartTime and FinishTime是 varchar 8
  • Spring Cloud Feign 客户端重复列表值

    我有这个接口使用 Spring cloud Feign 映射我的其余客户端 FeignClient url http localhost 8080 public interface RestClient RequestMapping val
  • 在圆圈内绘制文字

    我正在开发一个 Android 应用程序 我想画一个里面有文字的圆圈 我希望填充为白色 带有黑色边框和黑色文本 现在我有一个ShapeDrawable mDrawable new ShapeDrawable new OvalShape mD
  • SQL 列数据类型没有限制

    我有 SQLite 数据库 在 SQLiteStudio 中创建 DDL 是这样的 CREATE TABLE player player id INTEGER PRIMARY KEY ASC AUTOINCREMENT UNIQUE NOT
  • 如何像 Google 地图应用一样将 Android 工具栏菜单/图标向左对齐?

    这是 Google 地图工具栏的屏幕截图 如您所见 图标左对齐而不是右对齐 默认行为 我尝试将 android layout gravity left 和 android gravity left 添加到工具栏 但它不起作用 我还尝试向工具
  • 用于匹配 CSS 十六进制颜色的正则表达式

    我正在尝试编写从 CSS 代码中提取所有十六进制颜色的正则表达式 这就是我现在所拥有的 Code css lt lt
  • 在 Java 17 中,如何避免诉诸 --add-opens?

    从 Java 17 开始 illegal access实际上已经过时了https openjdk java net jeps 403 https openjdk java net jeps 403 对该选项的任何使用 无论是允许 警告 调试
  • 在 OCaml 中读取 URL 的 HTML 内容

    我想编写一个 OCaml 函数 它接受一个 URL 并返回一个由该位置的 HTML 文件内容组成的字符串 有任何想法吗 多谢 最好的 苏里卡托 我已经使用 ocurl 和 nethtml 完成了这两件事 ocurl http sourcef
  • java中的构造函数是什么,如果它不是类的成员?

    如果构造函数不是 Oracle 文档中所述的类成员 我们该如何称呼它 http docs oracle com javase tutorial java IandI subclasses html http docs oracle com
  • Scipy 余弦相似度与 sklearn 余弦相似度

    我注意到两者scipy and sklearn具有余弦相似度 余弦距离函数 我想测试每对向量的速度 setup1 import numpy as np arrs1 np random rand 400 for in range 60 arr
  • 自测技巧? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 基本上我想知道是否有人有任何提示来确保您的代码经过良好的测试 而无需在有限的时间内获得其他人的任何帮助 过去 我总是能够找到其他人对我的代码进行测试
  • 我们如何解决将 Access DB 从生产服务器转移到实时服务器的日期时间问题

    您能建议纠正 Net 中时区问题的最佳方法吗 最近 我使用 asp net C 作为代码隐藏 MS Access 作为后端开发了一个简单的网站 我的生产服务器和实时服务器的日期时间设置不同 我的生产服务器日期格式是 dd mm yyyy 实
  • 如何在 Groovy 中正确地将 String 转换为 int

    首先 我知道问题 Groovy 字符串到 int https stackoverflow com questions 1713481 groovy string to int 这是回应 我是 Groovy 语言的新手 现在正在尝试一些基础知
  • Windows 上的 Pipenv 失败,安装wrapt 时出错(python 3.6.8)

    我正在开始一个新的 python 项目 当我尝试安装虚拟环境时 我不断遇到失败wrapt 我已经阅读并尝试了几天可以在这里和其他论坛找到的所有解决方案 但没有成功 你能想到再试一次可能会出现什么问题吗 这很奇怪 因为相同的项目和代码可以在其
  • 在asp.net c#中通过POST传递动态列表

    在我看来 我需要多个输入框来容纳动态数量的值 例如 如果我有动态数量的输入框 如下所示http jsfiddle net skip405 9sX6X 6 http jsfiddle net skip405 9sX6X 6 我如何将所有这些值
  • PHP 和字符串中的反斜杠

    谁能告诉我这里发生了什么
  • 为什么 argc 是“int”(而不是“unsigned int”)?

    为什么命令行参数计数变量 传统上argc an int而不是unsigned int 这有技术原因吗 当我试图摆脱所有已签名的未签名比较警告时 我总是忽略它 但从来不明白为什么它是这样的 事实上 最初的 C 语言是这样的 默认任何变量或参数