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的方法,主動的在堆中申請內存地址,並把地址返回給指針,其操做以下: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還能夠用於結構體,類等其餘的數據類型
相關文章
相關標籤/搜索