白话C++编程系列之十 入口函数篇

in #programming7 years ago

c++!
上一篇我们一起学习了《白话C++编程系列之加餐一: IDE工具篇》
, 我们知道获得了关二哥的神器 IDE(集成开发环境: VS2013), 了解了如何使用Visual Studio 2013. 有没有实际践行呢?! 哈哈。

您的印象还有多深?动手实践留下的印象可比光看, 光想的印象深刻多了。
我想您也一定知道记忆规律吧? 为什么不一次性烧开VS2013 IDE这壶水呢?
您再点开上面的链接, 打开我们的的神器操作一次吧.祝您成功!
如果您在操作过程中有任何的问题, 欢迎您在文末留言或者在我的知识星球留言或者提问. ^_^

我们来简单的复习一个IDE(集成开发环境)的概念:
集成开发环境(IDE)?

IDE VS2013是我们用来写代码,调试代码、生成可执行文件的一个开发环境(软件). TA是我们智慧、灵感集中展示的舞台!

有了TA, 就像关二哥有了青龙偃月刀可以所向披靡、战无不胜、让曹军溃败千里、闻风丧胆!
要不要再点开上面的链接去看看这个神器?! ^_^

今天我们来和您talk另外一个概念: 入口函数

1.入口函数是啥?


入口函数 是C++程序运行时首先会被调用的函数, 名字通常为main。就像超市的入口。找到这个入口, 我们就可以shopping了。
哈哈。否则我们只能在超市外面聊天、侃大山了。
当然您也可以把它想像成玩 《Warcraft》时进入副本的入口. 比如进冰冠堡垒冰冠堡垒,

找这个入口就能进副本最终到达冰封王座和巫妖王阿尔萨斯见面PK... 当然如果您赢了, 副本的难度越大,您将得到的奖励越多,其实我好多次都被弹到深渊中死掉了... 虽然等级已经碾压他好多,进本主要为了那匹DK马... 哈哈.

程序也一样, 也有入口。这个入口就是我们总看到的 main函数。
来看例子。

// D:\dev\jinLab\p10_entranceFunction\p10_entranceFunction\p10_entranceFunction.cpp
//

/*
@Author: Albert 小宁
@Web: http://jinLab.com
@WeChatOfficalAccount: 小宁静致远
@Date: 2017-11-26
@KS: https://t.xiaomiquan.com/IeieiEm
*/

#include <iostream>
#include <string>
#include "stdafx.h"

//入口函数
int main( int argc, char * argv[])
{
    std::cout << " 参数个数: " << argc << std::endl;
    for ( int i = 0; i < argc; ++i )
    {
        std::cout << "参数" << i << ":" 
            <<  argv[ i ] << std::endl;
    }

    return 0;
}

入口函数及其参数




2.入口函数的应用?(举个例子)


入口函数是任何一个C++程序, 都必有一个函数。任何一个C++应用程序都用它做程序执行的入口.
入口函数的名称为 main. 这个函数的参数有两个 argc: 函数参数的个数. agrv: 每个具体的参数.

程序运行起来后, 默认的第一个参数为: 应用程序本身(包含程序运行的路径):
D:\dev\jinLab\p10_entranceFunction\Debug\p10_entranceFunction.exe

接着是传入给应用程序的参数有5个, 加上应用程序本身一共6个参数。
个参数为: D:\dev\jinLab\p10_entranceFunction\Debug\p10_entranceFunction.exe
个参数为: jin

个参数为: 1
个参数为: 2

个参数为: 23.3
个参数为: ok

这里大家需要特别注意的是 argv[] 为一个字符串指针 数组 分别指向上面的每个参数. 这个数组的个数正好为 argc

数组

是指连续的一块内存区域。就像分田, 整个连续在一起的六亩地都分给一个农民伯伯.(连续 而且都是相同的地)

您可以把它想像成好多人站成一排买票。这整个一排人就是一个数组。这里面的每个元素就是人.
或者想像成您去买楼,您对销售说这个单元我全买了,这一单元就是一个数组, 数组中的每个元素都是房子.

数组的特点是连续且元素相同一块区域,一个单元从一楼到23楼,连续在一起,全归您。
同时这一单元每一户房子从一楼到23楼所有房子的结构(类型)相同.

我们上面的例子中它们的类型就相同, 都是字符串指针 ** char * **, 里面放着 "D:\dev\jinLab\p10_entranceFunction\Debug\p10_entranceFunction.exe"
, "jin", "1", "2", "23.3", "ok"

这儿是程序执行的结果.
函数执行结果



3.入口函数实践?(动手操作)


我想看到上面的例子, 做为这么愿意成长和进步的您,一定动手实践了! 牛! 厉害!!! 人至"践"则无敌呀。 真理! 赶紧提交金句到007不出局吧.
Together be 007er
我只想说,您可以输入一些自己想输入的内容,让程序变的更有趣,更个性化。因为每次输入的内容不一程序的输出就会不一样。 帅吧?!

您的程序输出结果是什么样的?请您将您的程序结果截图发到《白话C++编程》https://t.xiaomiquan.com/IeieiEm 中吧,或者在文章的末尾留言。
这里我们再来看看程序的输出结果:
入口函数输出结果

One more thing:
每个输入给应用程序的参数是以 空格 分隔的.

请大家在 cpp sh http://cpp.sh或者用神器VS2013来践行今天的 入口函数 内容。
祝愿您获得更大成长!

怎么样?哈哈
恭喜您, 今天您和我一起学习了入口函数这个概念.
入口函数

入口函数 是C++程序运行时首先会被调用的函数, 名字通常为main
就像超市的入口。找到这个入口, 我们就可以shopping了

入口函数的应用
入口函数的实践

如何? 感觉很简单吧。也很好理解吧。不知道我有没有说清楚入口函数这个概念。请您多留言, 多理解,多提问,多践行!
函数的概念看这儿里



白话C++编程系列之:下期预告


白话C++编程系列之七: 规范篇
* 1. 规范篇是指什么?
* 2. 规范篇的应用
* 3. 规范篇的实践



延伸阅读


进取型人格

相信每次都会做的更好。不报怨, 不气馁, 不嚣张!

自由=自律!

反之亦然!

冰冻三尺非一日之寒

《白话C++编程系列之: C++入门与实践大纲》

《白话C++编程系列之一: 本质篇》

《白话C++编程系列之二: 变量篇》

《白话C++编程系列之三: 类型篇》

《白话C++编程系列之四: 语句篇》

《白话C++编程系列之五: C++是啥?》

《白话C++编程系列之六: 表达式(语句之爱恨)》

《白话C++编程系列之七: 函数篇》

《白话C++编程系列之八: 文件篇》

《白话C++编程系列之九: 多个文件篇》

《白话C++编程系列之加餐一: IDE工具篇》








Wanna learn English in USA? Click this link:
Talk English in USA: https://t.xiaomiquan.com/EuBqfMb

区块链投资/板砖/挖矿: https://t.xiaomiquan.com/iQV37MB

对医学感兴趣? 三体·生命依托
创业?动画片?国产?大鱼海棠: 我的创业梦

请大家多多动手,让编程也成为您的一种爱好和生产力。
请关注微信公众号 小宁静致远 或扫码关注我, 欢迎、感激传播! ^_^
期待和您多交流、共成长。谢谢!
扫描关注小宁静致远
精灵实验室? http://jinLab.com
留言区就是您的天下,欢迎吐槽、拍砖!

Why NOT let programming a skill of you?
Please follow my WeChat Office Account 小宁静致远 or scan the 2D code above to follow me & thanks for sharing me to your friends! ^_^
Hope we can communicate each other & improve ourselves together. Thanks!
JinLab? http://jinLab.com
Any ideas? Please add comments to the article!

学习C++? Lear C++? 请加入我的知识星球: Join my Knowledge Space:
白话C++编程:C++入门与实践 https://t.xiaomiquan.com/IeieiEm
oral C++ programming and practice! https://t.xiaomiquan.com/IeieiEm
加入白话C++ programming
不让好机会溜走,飞向白话C++编程知识星球!不让好机会溜走白话C++编程知识星球

鼓励我的创作? Encourage me?
您的鼓励我的动力! Appreciate your praise!

Coin Marketplace

STEEM 0.18
TRX 0.14
JST 0.029
BTC 58169.95
ETH 3145.36
USDT 1.00
SBD 2.38