码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-11-26 02:16:55      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:%s   默认值   stdio.h   系统   运行   ++   个数   std   turn   

argc : 指输入参数个数,默认值1,就是执行程序名称

argv[] : 输入参数数组指针

 

举个栗子:

1. 编写一个argc.c文件如下

  1 #include <stdio.h>
  2 
  3 int   main(int   argc,   char*   argv[])
  4 {
  5      int   i;
  6      for(i = 0; i<argc; i++)
  7         printf("argv[%d]= %s \r\n", i, argv[i]);
  8      return   0;
  9 }

2. 再编写一个Makefile文件如下:

1 #cc=gcc
2 argc : argc.o
3      cc -o argc argc.o
4 argc.o : argc.c
5      cc -c  argc.c
6  
7  .PHONY:clean
8  clean:
9      rm -rf argc.o argc

3. 编译代码,生成可执行文件argc

1 ricks@ubuntu:~/share/test/argc$ make
2 cc -c  argc.c
3 cc -o argc argc.o
4 ricks@ubuntu:~/share/test/argc$ ls
5 argc  argc.c  argc.o  Makefile

4. 运行可执行文件

1 ricks@ubuntu:~/share/test/argc$ ./argc aaaa bbb cc
2 argv[0]= ./argc 
3 argv[1]= aaaa 
4 argv[2]= bbb 
5 argv[3]= cc 
6 ricks@ubuntu:~/share/test/argc$ ./argc
7 argv[0]= ./argc 
8 ricks@ubuntu:~/share/test/argc$ 

5. 从运行结果可以看出,argc默认值是1,就是可执行文件名称,不过还带了路径名”./“ .

NOTE:

gcc是C编译器;g++是C++编译器;linux下cc一般是一个符号连接,指向gcc;gcc和g++都是GUN(组织)的编译器。而CC则一般是makefile里面的一个名字,即宏定义,嘿,因为Linux/Unix都是大小写敏感的系统,这点一定要注意。

 

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

标签:%s   默认值   stdio.h   系统   运行   ++   个数   std   turn   

原文地址:https://www.cnblogs.com/ricks/p/10018248.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!