1 void view(int *a); 2 void view(int a[]);//二者等价 数组
二维数组当函数形参的声明有三种:函数
void view(int (*a)[5]); //这里不是*a[5],由于要声明5个指针而不是一个指向4个int的指针 void view(int a[][5]); //二维数组声明时必定要把二维数组的列数代表,其行数能够变化
//int **a不是定义的二维数组,而是指向指针的指针
2.指针的初始化:通常状况下将数组的数组名,将变量的地址赋给指针就能够,这样获得的数组将是一个静态的数组,其数组的大小在定义时就肯定了,并且是定义在栈的内存区域。咱们能够经过另外一种new的方法,主动的在堆中申请内存地址,并把地址返回给指针,其操做以下:spa
1 //用new来申请变量地址 2 int*p=new int; 3 ... 4 delete p; 5 //用new来申请数组地址 6 int *ps=new int [10]; 7 ... 8 delete [] ps;//记得必定要加上[] 9 //二维数组也能够 10 int(*b)[2]=new int[10][2];//new还能够用于结构体,类等其余的数据类型