int  main( int  argc, char**  argv )

#include"stdio.h"和#include<stdio.h>区别?

尖括号里通常是系统头文件,引号里通常是自定义头文件!编译时寻根路径不同!

#include<stdio.h>指系统从系统目录开始搜索stdio.h这个文件。
#include“stdio.h”指系统先在当前目录(源文件所在目录)搜索stdio.h这个文件,若没找到,再到系统目录寻找。

 

int  main( int  argc, char**  argv )

main(int argc, char **argv)和main(int  argc, char *argv[])一个意思

说一下main(int argc,char *argv[])函数的两个形参,

     第一个int argc,是记录你输入在命令行上的参数(字符串)个数;

     第二个*argv[]是个指向字符串的指针数组,即数组元素是指向输入在命令行上的每个参数(字符串)的指针。

其中 argv[0] 是存储程序的名称;argv[1]是一个指向第1个命令行参数的指针, argv[2]指向第二个命令行参数的指针;

如:

  int   main(int   argc,   char*   argv[])  
   {  
           int   i;  
          for   (i   =   0;   i<argc;   i++)  
                 cout<<argv[i]<<endl;  
           return   0;  
   }  
   执行时敲入  
   F:\MYDOCU~1\TEMPCODE\D1\DEBUG\D1.EXE   aaaa   bbb   ccc   ddd  

   本例子中argc为5
   输出如下:  
   F:\MYDOCU~1\TEMPCODE\D1\DEBUG\D1.EXE        ----- argv[0]
   aaaa                                                                  ----- argv[1]
   bbb                                                   ----- argv[2]
   ccc                                                    ----- argv[3]
   ddd                                                   ----- argv[4]

C++ iostream和iostream.h的区别

#include <iostream.h>非标准输入输出流
#include <iostream>标准输入输出流
C++中为了避免名字定义冲突,特别引入了“名字空间的定义”,即namespace。


当代码中用<iostream.h>时,输出可直接引用cout<<x;

//<iostream.h>继承C语言的标准库文件,未引入名字空间定义,所以可直接使用。


当代码中引入<iostream>时,输出需要引用std::cout<<x;

如果还是按原来的方法就会有错。此时使用<iostream>时,引入std::有以下方法:
1.
    开头加using namespace std;
    cout<<x;
2.
   using std::cout;
   cout<<x;
3.
   最基本的std::cout<<x;

(有“.h”的就是非标准的,C的标准库函数,无“.h”的,就要用到命令空间,是C++的。还有一部分不完全是有“.h”和没“.h”的差别。例如:math.h和cmath)

上一篇:ls命令的简单实现


下一篇:逆向知识第七讲,三目运算符在汇编中的表现形式,以及编译器优化方式