1. 程式人生 > >c++指標變數(一)

c++指標變數(一)

通過指標,可以簡化一些C++程式設計任務的執行,還有一些任務,如動態記憶體分配,沒有指標是無法執行的。每一個變數都有一個記憶體位置,每一個記憶體位置都定義了可以用&運算子訪問地址,它表示了在記憶體中的一個地址。

什麼是指標:

      指標是一個變數,其值為另一個變數的地址,即記憶體位置的直接地址。就像其他變數或常量一樣,必須在使用指標儲存其他變數的地址之前,對其進行宣告。指標變數宣告的一般形式為:

type *var-name

在這裡,type是指標的基型別,它必須是一個有效的c++資料型別,var-name是指標變數的名稱,

1.當*用於定義時,是表明該變數為指標型別

2.*的作用可以用來取值

3.*用於取值時就是取出該地址中儲存的值。

 

其他:

Null 指標:Null指標是一個定義在標準庫中的值為零的常量。

在變數宣告的時候,如果沒有確切的地址可以賦值,為指標變數賦一個Null值是一個良好的程式設計習慣,賦為Null值的指標被稱為空指標。

#include <iostream>
using namespace std;
 
int main()
{
    int a = 10;
    cout<<"變數a 的地址"<<&a<<endl;
    int *p=NULL;//這裡的*是標識p的型別為整型指標(int*)型別。
    cout<<"指標p的初始值為"<<p<<endl;
     
    p=&a;//將p指向a的地址。
    cout<<"指標p獲取的a的地址為"<<p<<endl;
    
     
    cout << "*p = " << *p <<endl; //輸出*p的值。這裡的*就是取值的作用。
     
    a = 20;//改變a的值,也就是改變*p的值。
    cout << "*p = " << *p <<endl; //再次輸出*p的值。這裡的*同樣是取值的作用。
    return 0;
}

執行結果

變數a 的地址0113FF14
指標p的初始值為00000000
指標p獲取的a的地址為0113FF14
*p = 10
*p = 20
請按任意鍵繼續. . .