學習 c++ 的指標既簡單又有趣。通過指標,可以簡化一些 c++ 程式設計任務的執行,還有一些任務,如動態記憶體分配,沒有指標是無法執行的。所以,想要成為一名優秀的 c++ 程式設計師,學習指標是很有必要的。
當上面的**被編譯和執行時,它會產生下列結果:
通過上面的例項,我們了解了什麼是記憶體位址以及如何訪問它。接下來讓我們看看什麼是指標。
指標是乙個變數,其值為另乙個變數的位址,即,記憶體位置的直接位址。就像其他變數或常量一樣,您必須在使用指標儲存其他變數位址之前,對其進行宣告。指標變數宣告的一般形式為:
type *var-name;
在這裡,type是指標的基型別,它必須是乙個有效的 c++ 資料型別,var-name是指標變數的名稱。用來宣告指標的星號 * 與乘法中使用的星號是相同的。但是,在這個語句中,星號是用來指定乙個變數是指標。以下是有效的指標宣告:
int *ip; /* 乙個整型的指標 */
double *dp; /* 乙個 double 型的指標 */
float *fp; /* 乙個浮點型的指標 */
char *ch /* 乙個字元型的指標 */
所有指標的值的實際資料型別,不管是整型、浮點型、字元型,還是其他的資料型別,都是一樣的,都是乙個代表記憶體位址的長的十六進製制數。不同資料型別的指標之間唯一的不同是,指標所指向的變數或常量的資料型別不同。
使用指標時會頻繁進行以下幾個操作:定義乙個指標變數、把變數位址賦值給指標、訪問指標變數中可用位址的值。這些是通過使用一元運算子*來返回位於運算元所指定位址的變數的值。下面的例項涉及到了這些操作:
#include
using namespace std;
int main ()
當上面的**被編譯和執行時,它會產生下列結果:
value of var variable: 20
address stored in ip variable: 0xbfc601ac
value of *ip variable: 20
概念
描述c++ null 指標
c++ 支援空指標。null 指標是乙個定義在標準庫中的值為零的常量。
c++ 指標的算術運算
可以對指標進行四種算術運算:++、--、+、-
c++ 指標 vs 陣列
指標和陣列之間有著密切的關係。
c++ 指標陣列
可以定義用來儲存指標的陣列。
c++ 指向指標的指標
c++ 允許指向指標的指標。
c++ 傳遞指標給函式
通過引用或位址傳遞引數,使傳遞的引數在呼叫函式中被改變。
c++ 從函式返回指標
c++ 允許函式返回指標到區域性變數、靜態變數和動態記憶體分配。
C 指標型別
1.定義 型別 指標變數 型別決定了指向的記憶體空間的大小。指標變數也是一種變數,有著自己的記憶體空間,該空間上儲存的是另乙個變數的記憶體空間。可以使用typedef取別名來減少定義變數時的一些麻煩,如typedef int pointer 2.操作 1 取位址 int p int x p x p指...
gorm bool 指標 不更新 雙指標型別的例題
題目描述 給定乙個已按照公升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。說明 返回的下標值 index1 和 index2 不是從零開始的。你可以假設每個輸入只對應唯一的答案,而且你不...
C 空指標與無型別指標
c 用0表示空指標,c用 void 0表示空指標,c 對null的定義 undef null in case has defined it.ifdef gnug define null null else g ifndef cplusplus define null void 0 else c de...