当函数的参数是一个一维数组的时候。 
 在声明这个参数的时候 其实并不是创建一个数组。而是声明一个用来存储数组地址的指针变量。 
 如果函数的参数是一个数组。在声明参数的时候 都不要写一个数组,而是写一个存储数组的地址的指针变量。 
指针数组 
 普通数组的声明: 数据类型 数组名[长度] int arr[3] 
 指针数组的声明:  数据类型 数组名[长度] int *arr[3] 
还有4种指针的遍历方法。 
第一种遍历方式 
  
  
             int arr[4]={10,30,50,80}; 
             int *p1=arr; 
              
             int len=sizeof(arr)/sizeof(arr[0]); 
             for(int i=0;i<len;i++) 
             { 
              
             printf("%d",*(p1+i));} 
 第二种遍历方式 
             int arr[4]={10,30,50,80}; 
             int len=sizeof(arr)/sizeof(arr[0]); 
             for(int i=0;i<len;i++) 
             { printf("%d\n",*(arr+i))} 
 第三种遍历方法 
 int arr[4]={10,30,50,80}; 
 int len=sizeof(arr)/sizeof(arr[0]); 
 for(int i=0;i<len;i++) 
 { printf("%d\n",*(arr++)) 
 } 
 第四种遍历方法 使用下标来遍历。 
 我个人感觉还是蛮好记的。你只要记住 数组的类型是一个地址。想要遍历一个数组 要将地址转化为值 
要么就是从指针入手 一种就是将指针地址加1 就是加int 的4个字节 就是*(p+1) 
要是从地址入手  就是*(arr+i)  或者*(arr++)这两种都是一样的。 
  |   
        
 
    
    
    
     
 
 |