1.建議避免使用指標和陣列.....
2.指標的定義和初始化
string *ps;
3.連續宣告多個指標容易導致混淆
string *ps1,*ps2;
4.避免使用未初始化的指標
如果必須分開指標和他所指的物件,可以將指標初始化為0
還可以使用null int *pi = null;// null不是在命名空間std中定義的
5.void* 指標,他可以儲存任何型別物件的位址
6.引用一經初始化就指向同乙個特定的物件
7.只要兩個指標指向同一陣列或有乙個指向該陣列末端的下乙個單元,c++還支援兩個指標做減法
ptrdiff_t n = ip2-ip1;
8. size_t 用於指明陣列長度,它必須是乙個正數;ptrdiff_t則保證足以存放同一陣列中兩個指標之間的差距.有可能是負數
9.指標是陣列的迭代器
code:
#include
using
namespace std;
int main()
;
for(int *pbegin=arr,*pend=&arr[10];pbegin!=pend;pbegin++)
} 10.指向const的指標: cosnt int *pi; (自以為指向const的指標)
const指標: int *const pi = &ival; (指標本身不能改變)
11.typedef和指標
typedef string *pstring;
cosnt pstring cstr;
等同於: string *const cstr;
c primer學習筆記(4 2)指標的引入
4.2指標的引入 符號把乙個識別符號宣告為指標 vector pvec pvec是乙個執行 vector 型別物件的指標 int ip1,ip2 ip1和 ip2分別是指向 int型別物件的指標 乙個有效的指標必然是以下三種狀態 1.儲存乙個特定物件的位址 2.只想某個物件後面的乙個物件 3.0值 ...
指標(三) 指標陣列
指標陣列定義 一維指標陣列的定義形式 型別名 陣列名 陣列長度 char p 5 乙個陣列,若其元素均為指標型別資料,稱為指標陣列,指標陣列中的每乙個元素都相當於乙個指標變數。指標陣列的初始化 使用位址為指標陣列初始化 char p 5 指標陣列和二級指標 int main char temp 定義...
C語言(九) 指標(3)指標與const
表示一旦得到了某個變數的位址,不能再指向其他變數 int i 0 int const q i q是 const q 20 ok q error表示不能通過指標去修改這個變數 int i 0 int j const int p i const int p 等同於 int const p p 20 er...