c++ 指针篇
指針的主意事項:
指針的聲明:
?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還可以用于結構體,類等其他的數據類型
?
轉載于:https://www.cnblogs.com/yskn/p/8932486.html
總結
- 上一篇: python3 第三十四章 - 聊聊Fi
- 下一篇: typedef和define一些问题