C ++ポインタ(A)

ポインタ変数が、可変変数であると、そのアドレスである場合は、アドレス値の代わりに値そのものを格納する変数です。

#include <iostreamの>
 int型のmain(){
     使用して 名前空間STDを、
    int型変数= 6 ; 
    裁判所未満 << " 変数値= " <<変数<< " \ nを" ; 
    裁判所未満 << " 変数のアドレス= " <<&変数<< " \ nを" ;
    リターン 0 ; 
}

出力は次のようになります。

変数値= 6

変数のアドレス=(ランダムアドレス)

 

宣言し、ポインタを初期化します

#include <iostreamの>
 int型のmain(){
     使用して 名前空間STDを、
    int型変数= 6 ;  // 声明变量
    のint * p_variable。   // 声明指针 
    p_variable =&変数;  // 指针指向変数

    はcout << " 値:変数= " << 変数。
    裁判所未満 << "* p_variable = " << * p_variable << " \ nを" ; 

    裁判所未満 << " アドレス:&変数; 
    裁判所未満 << "p_variable " << p_variable << てendl; * p_variable = * p_variable + 1 
    裁判所未満 << " 今、変数= " <<変数<< てendl; 
    システム(一時停止)。
    リターン0 ; 
}

    

出力は次のようになります。

値:変数= 6、* p_variableは= 6つの
アドレス:&変数= 010FF8B0、p_variable010FF8B0
変数今= 7

 

ポインタが初期化されていない時に初期化されなければならないポインタを使用する場合は、任意の値であってもよいです。例えば:

長いです*; 
* A = 2。

確かにポインタが、どこが指すのでしょうか?コードが割り当てられたアドレスにしない私たちは、このプログラムは、バグを追跡することは困難見える、我々は、ポインタaを初期化することができます原因となりますことを知らない場合は、その後、2が配置されます。

INT番号= 2。
int型* A =&番号。

リリースメモリを削除し、メモリを割り当てるために新しいを使用してください。

C言語ライブラリ関数のmalloc()内にC ++で、メモリを割り当てるために、これは、任意の偶発使用することができるが、C ++のより良い方法--newオペレータに提供します。

#include <iostreamの>
 int型のmain(){
     使用して 名前空間STDを、
    int型 * P = 新しい int型 ;     // 申请内存 
    * P = 100 ; 

    ダブル PT = * 新しい ダブル* PT = 100.00 ; 

    裁判所未満 << " * p値= " << * P; 
    裁判所未満 << "p個のアドレス= " << P << てendl; 
    coutの << はsizeof(P)<< " "sizeof(PT)<< ENDL。
    coutの << はsizeof(* P)<< " " << はsizeof(* PT)<< てendl; 削除したpを。             // 释放内存削除PTを。
    システム(一時停止)。
    リターン0 ; 
}

    
     

出力は次のようになります。

* p値= 100、p個のアドレス= 012EB2D0
4,4
4,8

 動的配列を作成するための新しい使用

そのような10個の要素を含むint配列を作成する作成など。

int型* P =新しいint型[10]。

ダイナミックアレイを使用した後、空きメモリに削除[] Pを使用すべきです。

ヒント:

1.割り当てられたメモリを解放するために削除し、使用しないでください新しいものではありません。

2. NULLポインタのためのアプリケーションを削除しても安全です。

3.二回のリリースを削除し、同じメモリカードを使用しないでください。

4.新しい[]配列は、メモリを割り当てる[]解放するためにDELETEを使用します。

 

おすすめ

転載: www.cnblogs.com/lyj0704/p/11195484.html
おすすめ