c++ 指针篇

指针的主意事项:

指针的声明:

  1. 数组指针的声明:一维数组当函数形参的声明有两种:

 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的方法,主动的在堆中申请内存地址,并把地址返回给指针,其操作如下:

 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还可以用于结构体,类等其他的数据类型

 

posted @ 2018-04-24 18:14  yskn  阅读(204)  评论(0编辑  收藏  举报