1. 程式人生 > >指標與引用 指標常量與常量指標

指標與引用 指標常量與常量指標

1.差別:指標可以操縱兩個實體,一個是制針值,一個是指向的值,一次指標可以改變關聯的實體,即指向的實體。而引用只能操縱一個實體。

2.引用定義時必須初始化,這是它與指標根本不同的地方。一旦引用誕生,就確定了它與一個實體的聯絡,這種聯絡是打不破的,直到引用自身的滅亡

3.指標變數分配等同於整型變數大小的空間,引用不分配空間。

4.常量指標定義 const  型別*  

指向的物件是常量的指標  const int *pi:*pi是不可以改變的,  *pi=2之類的對於*pi的操作都是不可取的
可以改變pi指向的地址,即可以改變指標指向的地址,但是不可以改變它指向的地址裡面存的內容
 指標常量定義  型別*const  
指標本身是常量   int * const pi:*pi是可以改變的,  pi=&i這種操作是不正確的
即可以改變這個指標指向的地址裡面存的內容,但是不可以改變這個指標指向的地址

相關推薦

C++指標引用的區別聯絡

1.指標和引用的定義和性質區別: (1)指標是一個變數,只不過這個變數儲存的是一個地址,指向記憶體的一個儲存單元;     而引用跟原來的變數實質上是同一個東西,只不過是原變數的一個別名而已。 (2)可以有const指標,常量指標可以改變指向,指標常量

指標引用的區別相同點

原文地址:http://blog.csdn.net/will130/article/details/48730725 一、指標和引用的定義和性質區別: (1) 指標:指標是一個變數,只不過這個變數儲存的是一個地址,指向記憶體的一個儲存單元,即指標是一個實體;而引用跟原

c++ 筆記,->理解,指標引用(*&)指標指標(**)

一:->理解 網上百度看到的,說的很好,分享一下https://zhidao.baidu.com/question/143562807.html ->是一個整體,它是用於指向結構體、C++中的class等含有子資料的指標用來取子資料。換種說法,如果我們在C語言中

指標引用 指標常量常量指標

1.差別:指標可以操縱兩個實體,一個是制針值,一個是指向的值,一次指標可以改變關聯的實體,即指向的實體。而引用只能操縱一個實體。 2.引用定義時必須初始化,這是它與指標根本不同的地方。一旦引用誕生,就確定了它與一個實體的聯絡,這種聯絡是打不破的,直到引用自身的滅亡 3.指標

面試題-指標-指標常量常量指標

問題:問:請用程式碼來解釋以下常量指標與指標常量? 答+分析: 指標常量:指向常量的指標。 const int *p1; int const *p1;兩者等價。 const *p1(或者const int *p1),*p1是p1指向的變數的內容,所以p1所指向的記憶

指標常量常量指標指向常量指標常量小結(C/C++)

一 指標常量: int a; int *const pcb = &a; //const放在指標宣告操作符的右側 只要const位於指標宣告操作符右側,就表明宣告的物件是一個常量,且它的內容是一個指標,也就是一個地址。上面的宣告可以這麼讀,聲明瞭一個常量pcb,它

指標常量常量指標(const用法總結)

 const是一個C語言的關鍵字,它限定一個變數不允許被改變。使用const在一定程度上可以提高程式的安全性和可靠性 指向常量的指標: const int *pa; int const *pa; 兩者等價。因為指向常量的指標有時候會指向常量,所以它具有這個性質:“不能靠解引

函式裡定義的字串常量字元指標

今天產品同事問了個檔案系統相關的問題,平臺這邊的檔案系統自己組織,定義了個結構體陣列,數組裡面有個字元指標,在產品呼叫相關介面函式時將函式名(其實是個字串)賦給該指標。產品同事說這樣有問題,說沒有給指標申請空間,就直接用了,他這麼一問我也懵了,平臺一直在用,沒有問題啊,百

【C】指標*引用&的解釋

1)值傳遞: int  func(int value) {        value++;        return value;       //   &nb

6.2.2-1 【指標引用】在二叉樹建立的應用

0 引子   本文旨在通過二叉樹的遞迴建立,分析指標與引用,函式形參與實參的具體實現。   二叉樹的遍歷,通常是利用建立好的二叉連結串列的首地址,也即根節點地址。主函式先定義一指標,再通過二叉樹建立函式返回根結點地址,或者將定義的指標作為形參來實現修改。   這就涉及函式形參與實參的呼叫機制。實參賦給形

C++中const引用指標之間的關係要點

一、const關鍵字 1、有時我們希望定義這樣的一個變數,它的值不能被改變。這時就可以在定義變數時加上const關鍵字。例如 const int bufSize=512; const型別變數可以進行大部分與非const型別變數相同操作,主要的限制就是不可以在const型別的物件上執

指標引用,*&

當定義一個普通的一個指標時例如:int *num; int num1; num=&num1;此處&起的是取地址作用。 這種方式可以用到函式: int main() {int a=10;int b=15;test(&a,&b);printf("a=%d,b=

指標引用總結

指標 若現在指標不知道指向,可以使用NULL,例如int *b = NULL; char *a = NULL;,但是使用的時候若指標指向的是陣列或者字串等,需要提前宣告大小。若是int *,則不需要,直接將一個int型別的指標賦值給它即可。 c++中的*與&對於初學者來說,確

函式返回指標引用指標區別

1,函式不可以返回棧記憶體的指標,但是可以返回堆記憶體的指標,可以free掉兩次指向空的指標,但是不能連續free兩次指向記憶體的指標,會產生已放棄   int main() { int *a; a = (int *)malloc(10); a[0] = 1

面試題-指標-指標指標引用

問題: 問:下面程式碼編譯執行之後是否正常執行? void swap(char *&a, char *&b) {    char temp;     temp = *a;     *a = *b;     *b = temp; } int main()

【小練習】指標引用:傳遞動態記憶體2

1.練習程式碼-程式碼中的問題是什麼? #include <iostream> void GetMemory(char *p, int num) { p = (char *)ma

【小練習】指標引用:傳遞動態記憶體1

1.練習程式碼-哪些函式能成功進行兩個數的交換? void swap1 (int p, int q) { int temp; temp = p; p = q; q =

【小練習】指標引用:基本問題

1.練習程式碼-找出錯誤 #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc

【小練習】指標引用:傳遞動態記憶體3

1.練習程式碼 #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TC

C++ 指標引用

一:指標 1.1:指標詳解 變數的地址的概念: 記憶體是以位元組為單位進行編址的,記憶體中的每個位元組都對應一個地址,通過地址才能找到每個位元組。變數對應記憶體中的一段儲存空間,該段儲存空間佔用一定的位元組數,用這段儲存空間的第一個位元組的地址表示變數的地址。