| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 504 人关注过本帖
标题:main()函数
只看楼主 加入收藏
xyath
Rank: 1
来 自:苏州昆山
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-11-7
结帖率:0
收藏
 问题点数:0 回复次数:1 
main()函数
C++点滴:main()函数

帖子由 tiger » 2009-07-04 13:58
main()函数是C++程序的入口,任何C++程序都必须提供一个且是唯一一个main()函数。
标准C++ 的main()函数有以下2中定义方式:
代码: 全选
    int main() {
        ...
    }


代码: 全选
    int main(int argc, char *argv[]) {
        ...
    }

第二种定义的参数 char *argv[] 也可以写成 char **argv
与其他函数不同,main() 函数在函数结尾隐含了 return 0; 语句,我们可以显式的写上这个返回语句,也可以不写,都符合标准。
收到的鲜花
  • flyingcloude2009-11-08 14:16 送鲜花  10朵   附言:不错,以后多做总结
搜索更多相关主题的帖子: 函数 main 
2009-11-07 15:13
xyath
Rank: 1
来 自:苏州昆山
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-11-7
收藏
得分:0 
Re: C++点滴:main()函数
帖子由 tiger » 2009-07-04 14:32
关于第二种定义方式的参数:
int argc -- 记录命令行参数的个数,命令行参数的数量最小为1,及可执行文件本身的名称。
char *argv[] -- 命令行参数(数组)
如下面程序:
代码: 全选
    // hello.cpp
    #include <iostream>
    int main(int argc, char *argv[]) {
        std::cout << "命令名:" << argv[0] << std::endl;
        if (1 == argc) {
            std::cout << "Hello world" << std::endl;
            return 0;
        }
        std::cout << "Hello to " << argc - 1 << " friends: ";
        for (int i = 1; i < argc; ++i) {
            std::cout << (1 == i ? "" : ", ") << argv[i];
        }
        std::cout << '.' << std::endl;
        // return 0; //返回语句可写可不写
    }

简单编译:
代码: 全选
    g++ -ohello -O2 hello.cpp

不带命令行参数执行程序
代码: 全选
    kwarph@hopeful:~$ ./hello
    命令名:./hello
    Hello world

有命令行参数执行程序:
代码: 全选
    kwarph@hopeful:~$ ./hello tiger
    命令名:./hello
    Hello to 1 friend(s): tiger.

代码: 全选
    kwarph@hopeful:~$ ./hello tiger longdouble
    命令名:./hello
    Hello to 2 friend(s): tiger, longdouble.






2009-11-07 15:16
快速回复:main()函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016440 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved