求助C语言大佬:C语言的main函数参数问题

最近在敲代码的过程中,突发奇想,产生了一个疑问:

        为什么main函数可以任由我们定义:可以接收一个参数、两个参数、三个参数都接接收,或者可以不接收?这是如何实现的

int main(){retrun 0;
}
int main (int argc){return 0;
}
int main(int argc, char* args[]) {return 0;
}
int main(int argc, char* args[],char* envs[]) {return 0;
}

这几种main函数的定义都是可以的,但是我在vs中调试的时候,发现main函数的上层函数实是这样调用的:

static int __cdecl invoke_main()
{return main(__argc, __argv, _get_initial_narrow_environment());
}

incoke_main函数中在调用main函数的过程中是有传递参数的,

 我也在vs中做了一个相似的实验,发现是不行的,

在闲暇时候,我上往找过一些资料,但是都没有对这个问题的相关解答,我甚至去国外的网站,希望能找到答案,但是得到的解答也是一知半解,也可能是我对问题的关键词把握不对,也可能我没有找到相关资料,

希望有知道的大佬,能解答一下我的疑惑

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/111784.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么使用LightPicture开源搭建图片管理系统并远程访问?【搭建私人图床】

文章目录 1.前言2. Lightpicture网站搭建2.1. Lightpicture下载和安装2.2. Lightpicture网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 现在的手机越来越先进,功能也越来越多,而手机…

TSINGSEE智慧港口可视化智能监管解决方案,助力港口码头高效监管

一、方案背景 全球经济一体化进程以及国际市场的不断融合,使得港口码头成为了大型货运周转中心,每天数以百计的大型货轮、数以千计的大型集装箱、数以万计的人员流动。港口作为货物、集装箱堆放及中转机构,具有昼夜不歇、天气多变、环境恶劣…

rust学习—— 控制流if 表达式

控制流 根据条件是否为真来决定是否执行某些代码,或根据条件是否为真来重复运行一段代码,是大部分编程语言的基本组成部分。Rust 代码中最常见的用来控制执行流的结构是 if 表达式和循环。 if 表达式 if 表达式允许根据条件执行不同的代码分支。你提供…

axios引入的详细讲解

1.安装axios:npm install axios,等待安装完毕即可 2.引用axios:在需要使用的页面中引用 import axios from axios 即可 axios请求的时候有两种方式:一种是get请求,另一种是post请求 get请求: axios({…

c: Queue Calling in Ubuntu

/*** file TakeNumber.h* author your name (geovindu)* brief * version 0.1* date 2023-10-20* * copyright Copyright (c) 2023 站在巨人的肩膀上 Standing on the Shoulders of Giants* */#ifndef TAKENUMBER_H #define TAKENUMBER_H#include <stdio.h> #include <…

nginx 内存管理(一)

文章目录 前提知识nginx内存管理的基础内存分配不初始化封装malloc初始化malloc 内存池内存池结构清理函数cleanup大块内存large 创建内存池申请内存void *ngx_palloc(ngx_pool_t *pool, size_t size)void *ngx_pnalloc(ngx_pool_t *pool, size_t size)void *ngx_pcalloc(ngx_p…

JS动态参数arguments与剩余参数

arguments是函数内部内置的伪数组变量&#xff0c;它包含了调用函数时传入的所以实参 让我为大家介绍一下arguments吧 平时我们获取实参&#xff1a; function fun(a, b) {console.log(a) //1console.log(b) //2}fun(1, 2)接下来我们来使用一下arguments动态获取实参 function …

6 个可解锁部分 GPT-4 功能的 Chrome 扩展(无需支付 ChatGPT Plus 费用)

在过去的几个月里&#xff0c;我广泛探索了 ChatGPT 的所有可用插件。在此期间&#xff0c;我发现了一些令人惊叹的插件&#xff0c;它们改进了我使用 ChatGPT 的方式&#xff0c;但现在&#xff0c;我将透露一些您需要了解的内容。 借助 Chrome 扩展程序&#xff0c;所有 Chat…

Ubuntu(kylin)挂载iso文件和配置apt本地源

版本说明:Ubuntu Server 16.04 LTS解决问题:解决在无任何互联网的环境下,安装软件时缺少依赖包的问题 方法一:通过虚拟机挂载 将镜像挂载到虚拟机以VMware Workstation为例,打开“虚拟机设置”,点击“CD/DVD”选项,将 “设备状态”中的“<

【插入----在第i个结点前插入值为e的新结点,删除----删除第i个结点,单链表上的查找,插入,删除算法时间效率分析】

文章目录 单链表的基本操作插入----在第i个结点前插入值为e的新结点删除----删除第i个结点单链表上的查找&#xff0c;插入&#xff0c;删除算法时间效率分析 单链表的基本操作 插入----在第i个结点前插入值为e的新结点 【算法步骤】 1.首先找到a&#xff08;i-1&#xff09;…

安全运营工程师面经

lz作为秋招狗&#xff0c;面了N场面试&#xff0c;腾讯的面试官给人的感觉就很好&#xff0c;比较懂技术&#xff0c;对项目技术问的很深 由于lz项目经验很丰富&#xff0c;因此几乎没怎么问八股文&#xff0c;主要针对项目提问&#xff0c;下面是一些主要的问题 对中间人攻击…

JavaScript基础——练习巩固题目(1)

1、获取用户信息 依次询问并获取用户的姓名、年龄、性别&#xff0c;收集数据之后在控制台依次打印出来。 提示&#xff1a; 通过prompt来弹出提示框&#xff0c;收集用户信息 通过变量保存数据 2、增加年龄 询问用户年龄&#xff0c;用户输入年龄后&#xff0c;把用户输入的…

单片机判断语句与位运算的坑

一.问题描述 在我判断Oled的某点的值是否为1时,用到了如下判断语句 if(oled[x][y/8] &1<<(y%8)但是,当我将其改为如下的判断语句,代码却跑出BUG了 if((oled[x][y/8]&1<<(y%8))1)二.原因分析 1.if语句理解错误 首选让我们看看下面的代码运行结果 #inc…

sqlsever解决传入参数过多的一种思路

问题 com.microsoft.sqlserver.jdbc.SQLServerException: 传入的请求具有过多的参数。该服务器支持最多 2100 个参数。请减少参数的数目&#xff0c;然后重新发送该请求。 方案 java sqlsever 或 sqlsever存储过程 方案1 java sqlsever 解决方案 1. 将数据处理成XML格式 …

Django中ORM框架的各个操作

我们会好奇&#xff0c;python这么简洁的语言&#xff0c;数据查询是如何做的呢&#xff1f;我将进一步详细和深入地介绍Django中ORM框架的各个方面&#xff0c;包括MySQL的增删改查和复杂查询。让我们分步骤进行。 ORM框架介绍 Django的ORM框架是一个用于与数据库进行交互的工…

Stable Diffusion WebUI扩展a1111-sd-webui-tagcomplete之Booru风格Tag自动补全功能详细介绍

安装地址 直接附上地址先: Ranting8323 / A1111 Sd Webui Tagcomplete GitCodeGitCode——开源代码托管平台,独立第三方开源社区,Git/Github/Gitlabhttps://gitcode.net/ranting8323/a1111-sd-webui-tagcomplete.git上面是GitCode的地址,下面是GitHub的地址,根据自身情…

Android AccessibilityService dispatchGesture

Android AccessibilityService dispatchGesture 一、dispatchGesture方法 1.申请权限 <uses-permission android:name"android.permission.BIND_ACCESSIBILITY_SERVICE"tools:ignore"ProtectedPermissions" />2.使用 public class MyAccessibili…

Kotlin Compose Multiplatform 跨平台开发实践之加入 iOS 支持

前言 几个月前 Compose Multiplatform 的 iOS 支持就宣布进入了 Alpha 阶段&#xff0c;这意味着它已经具备了一定的可用性。 在它发布 Alpha 的时候&#xff0c;我就第一时间尝鲜&#xff0c;但是只是浅尝辄止&#xff0c;没有做过多的探索&#xff0c;最近恰好有点时间&…

vue实现分页

第一步 页面添加分页控件 <el-pagination size-change"handleSizeChange" current-change"handleCurrentChange" :current-page"currentPage":page-sizes"[10, 20, 30, 40]" :page-size"pageSize" layout"total, s…

idea Java代码格式化规范

文章目录 引入基础知识代码模板idea模板eclipse模板1.安装插件2.生成配置文件3.导入配置文件 附录一&#xff1a;xml配置项说明附录二&#xff1a;赠送 引入 最近在公司开发中&#xff0c;遇到了一点小问题&#xff0c;组内各同事的格式化规范不一致。一来导致代码样式并不统一…