c语言main函数参数的作用,IT之家学院:通俗科普C语言main函数的参数

感谢IT之家网友 stevapple 的投递

对于C语言的初学者,关于main函数这个程序主入口一定接触得再多不过了。我们来看看下面几种常见的入门程序——Hello World:

如果是由国内老教材(例如NCRE二级C语言)入门的,你见到的可能是下面这个:#include

void main() {

printf("Hello World!");

}

如果是新一点的教材,也可能是这样:#include

int main() {

printf("Hello World!");

return 0;

}

如果和笔者一样翻阅过《C Primer Plus》,或许还能找到一个不一样的表达:#include

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

printf("Hello World!");

return 0;

}

实际上,Xcode默认的C语言模版正是这样的写法。

那么,这个多出来的main函数参数究竟是什么呢?

main函数作为程序主入口,其参数其实就是程序运行的参数。

第一个参数,整型,通常命名为argc,代表参数个数。argc是一个正整数,因为程序所在的路径即第一个参数。

第二个参数,通常命名为argv,是一个指向字符串的指针数组。这是一个个参数的集合,依次以指针形式依次存放在数组中。

所以,光是写一个Hello World实在是太浪费这个参数啦有木有?其实参数的作用还可以这么理解:

比方说移动文件/重命名用的mv指令,如果是一个C语言程序……mv 1.h 2.h

调用程序的指令”mv”就是第一个参数,”1.h”、”2.h”分别是第二个和第三个参数,argc的值就是3。

最简单的应用见下:#include

//以下实现一个反序输出参数的C语言程序

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

printf("This program runs in %s", argv[0]);

//判断是否有外部参数

if(argc > 1) {

printf(", whose arguments are reversed as follows: \n");

//反序遍历

for(int argx = argc - 1; argx > 0; argx--) printf("%s\n", argv[argx]);

} else printf(" with no argument. ");

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值