main函数的argc与argv
jopen
9年前
众多周知,C程序总是从main函数开始执行。main函数最根本的原型是int main(int argc,char *argv[]); 记得大学学C语言用的是谭浩强版的《C语言程序设计》,书中虽有argc和argv处,但是听老师说括号内的只是参数,并且在后来的程序编写过程中均用main(void),对argc与argv就未求甚解。
直到昨天Google(内事可以问百度,外事还真得问谷歌)了下,还真有不小的发现:argc代表argument count,即命令行参数的数目;argv代表argument vector,即指向参数的各个指针构成的数组。于是,写了个小程序:
程序执行结果为:
我们可以看到,包括./testMain共输入了5个参数,而且参数的索引是从0到4。既提到索引,《Objective-C Programming》对8位的无符号整数可以保存0~255之间的整数给了另一种思路的解释:8位,每位能存储0或者1(即2种可能),那8位就是2^8=256,又因为计算机系统的计数是从0开始的,所以它的范围是0~255。窃以为,这种解释更深入计算机系统的本质。
来自: http://www.jianshu.com/p/d3a5f6de9c8a?utm_source=tuicool&utm_medium=referral