c语言主函数命令行参数的作用,C语言main函数的意义

在一些IDE如C-free创建一个C语言的工程时,默认的一个C程序是这样的:

1

2

3

4

5

6

#include

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

{

return

0;

}

以前一直不知道main函数里面的两个参数有什么作用,后来在《the c programming

language》(一本学习C语言的好书)里面知道这两个函数分别是什么了。argc记录的是程序命令行参数的个数,argv是一个字符指针数组,保存

了指向各个参数的字符指针。注意:程序路径是第一个参数。

比如你运行下面的C代码:

1

2

3

4

5

6

7

8

#include

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

{

printf("%d\n",argc);

printf("%s\n",argv[0]);

return

0;

}

程序运行的结果如下:

1

2

1

G:\socket\test\MinGW3.4.5\test.exe

你可能会说main函数怎么会用参数?一般来说刚学C语言的时候我们并不会使用到这两个参数。不过在windows命令行,或者文字界面的linux里面,这两个参数就显得非常重要了。比如我们在cmd下执行ping命令时,会使用

ping + 网站域名,比如:

1

ping dabentu.com

这里一共有两个命令行参数,第一个数程序的路径名,第二个就是字符串“dabentu.com”,argc[1]保存了指向它的字符指针。程序就是通过argc知道程序有几个参数,再通过argv里的指针访问这些参数。看下面的test程序,将它的命令行参数反序输出:

#include

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

{

while(argc > 1){

printf("%s\n",argv[argc-1]);

argc–;

}

return 0;

}

输出结果:

1

2

3

4

5

6

7

//我们在命令行执行下面的命令

C:\Users\acer>test 1 2 3 4

//这是它的输出

4

3

2

1

这里没有输出它的第一个参数,也就是程序的路径名。

现在你应该知道了main函数两个参数的意义了,第一个保存了命令行参数的个数,第二个保存了指向各个参数的指针。如果还是不明白,可以去网上搜索更加详细的资料,再配合具体的代码来理解。:)

若非注明,均为原创文章,转载请注明: 转载自大 笨 兔 | 博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值