C++main()函数知识点

1. c/c++在main函数之前和之后会做什么?底层汇编代码:int stack; //初始化栈;int heap; //初始化堆open stdin; //打开标准输入open stdout; //打开标准输出open stder; //打开错误流...push argv; //把参数argv压入栈push argc; //把...
摘要由CSDN通过智能技术生成

1. c/c++在main函数之前和之后会做什么?

底层汇编代码:

int stack;    //初始化栈;
int heap;     //初始化堆
open stdin;    //打开标准输入
open stdout;    //打开标准输出
open stder;    //打开错误流
...
push argv;    //把参数argv压入栈
push argc;    //把参数argc压入栈;
call main;    //调用main函数
...
destroy heap;    //销毁内存
close stdin;    //关闭标准输入
close stdout;   //关闭标准输入
close stderr;    //关闭错误流
...

call __exit;

2. main()函数的参数

c++标准允许主函数main()没有参数,或有两个参数。 

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

//或者

int main(int argc, char** argv)

 argc 表示传入main函数的参数个数,也可理解为数组argv的元素个数。

 argv表述传入main函数的指针数组,为char**类型,也可以为是一个argv是一个数组,数组中的每一个元素都是一个字符串。

argv的第一个元素argv[0]是程序名称,并且包含程序的完整路径。所以,argc至少为1。

#include "stdafx.h"
#include <gtest\gtest.h>

#include <iostream>
u
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xinran0703

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值