1.指標:指標代表乙個變數的位址;
例如:int a =2,b = 1,*pi = &a;
pi= &b;
2.引用:引用即針對乙個變數的別名,引用必須被初始化,引用作為引數(形參)時,不會像指標一樣使用儲存單元,更不會像值傳遞一樣建立該引數的副本,提高空間/時間效率。
例如:int a=2,&b = a;
3.常量引用:格式為 const 變數型別 &變數名,當宣告該引用時,不可通過引用對其目標變數的值進行修改,變數自身可以修改,可用於保證函式內形參不可更改,也就是保證傳入的實參為常量。
4.指向常量的指標:(《c++ primer》書中名字是指向常量的指標,網上的叫法是「常量指標」),const int *p;
其本質為乙個指標,因為該指標指向乙個常量,所以不能通過該指標修改常量的值,但該指標指向的也可為變數,重點在於不能通過該指標修改指向變數(常量)的值;
5.常量指標:(《c++ primer》書中名字是常量指標,網上的叫法是「指標常量」),int* const p;
其本質為乙個常量,所以其指向的值可以改變,但是由於指標為常量,所以宣告時必須初始化,且初始化後存放在指標中那個位址不可改變,此位址對應的非常量值仍可被改變。
總結:const在*的左邊,則為指向常量的指標,即指標指向的變數的值不可直接通過指標改變(可以通過其他途徑改變);const在*的右邊,則為常量指標,即指標的指向不可變。簡記為const的「左定值,右定向」。
C 常量指標 指標常量 引用和常引用的用法解析
今天學習c 的常量型別和引用,其中常量指標 指標常量 引用和常引用幾個概念較為接近,特地整理一下。1.常量指標 pointer to const 常量指標,顧名思義,是指向常量的指標,其定義的一般形式為 const t pointer name t為資料型別,target為t類資料。常量指標本身是可...
C Primer 引用 指標 常量
定義引用時,程式把引用和它的初始值繫結在一起,而不是把初始值拷貝給引用。一旦初始化完成,引用將和它的初始值物件一直繫結在一起,因此無法讓引用繫結另乙個物件,所以引用必須初始化。所有引用的型別都必須要和與之繫結的物件嚴格匹配,而且引用只能繫結在物件上,而不能和字面值或表示式的結果繫結在一起,以下兩種情...
指標和引用與及指標常量和常量指標
1.存在空指標,但是不存在空引用。2.指標可以不初始化,而引用必須初始化,並且,引用的目標一旦確定,後面不能再更改,指標可以更改其指向的目標。3.指標是乙個實體,而引用僅是個別名。4.引用是型別安全的,而指標不是 引用比指標多了型別檢查 5.指標和引用的自增 運算意義不一樣,對引用的操作直接反應到所...