c++彻底研究之main函数

main函数的原型只有两种形式:不带形参表和带形参表。
 
一、不带形参表
int main(void)
{
return 0;
}
 
极其简单几句代码,是任何程序不可或缺的组成部分,有几个点值得我们注意:
  1. 每个程序有且只要一个main函数,它是入口函数,但不一定是第一个执行的函数。
  2. main函数是系统唯一显示调用的函数。
  3. 对于main函数,返回类型必须是int型(C++98标准,即ISO/IEC 14882-1998),新标准不允许使用默认返回值,即int不能省,而且对应main函数不再支持void型返回值。返回值0往往表示main函数成功执行完毕。(虽然返回是int型,拥有32位,但系统只用一个字节--即8位,的空间存储返回值)
 二、带形参表
int main(int argc, char *argv[], char *env[])
{
return 0;
} 
 
由于第二个参数和第三个参数是字符串数组,因此也可以这样定义:
 
int main(int argc, char **argv, char **env)
{
return 0;
} 
 
其中最常见的是下面的形式:
        
int main(int argc, char *argv[] )
{
return 0;
} 
 
带形参表的main函数有些特征更需要我们注意:
  1. 第一个形参argc传递数组中字符串的个数,第二个形参argv是一个C风格的字符串数组,第三个形参env是系统的一些环境设置,形式为ENV = value。
  2. 当实参传递给主函数main是,第一个argv字符串数组的元素通常是程序的名字。
  3. 第二个实参以空格表示不同的字符串,若想将一个字符串中间出现空格,可使用"",如"my main"。
  4. 重要的性质:argv[argc] = NULL
例如:
// 文件名为:main2.cpp
// 工程名为:main2

#include <iostream>
using std::cout;
using std::endl;

int main(int argc, char *argv[], char *env[])
{
     int i;
     cout<<"there are "<<argc<<" strings"<<endl;
     for( i = 0; i < argc; i++)
    {
           cout<<"argv["<<i<<"] = "<<argv[i]<<endl;
    }
     for( i = 0; env[i] != NULL; i++)
    {
          cout<<"env["<<i<<"] = "<<env[i]<<endl;
     }
     return 0;
}

 
将系统工具cmd定位在你当前的工程目录下,然后输入:
 
main2 my first "main test!!"
 
 结果如下:
 
 
附: 在VC等集成环集下直接输入命令行参数
           1. 
  在你的项目中 选择 Project/setting... 菜单项
           2. 
  在弹出的Project Settings 对话框中的右侧, 选择 Debug Tab
           3. 
  Program arguments: 下键入你的命令行参数便可!
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值