C89:配列/ポインタ/参照オン

A.アレイ

1.整数配列

(1)一次元アレイ
//一次元アレイ
静的の:int配列[100]; 
静的:int配列[100] = { 1,2}; //初期化の前に2つだけの要素
の静的:int配列[100] = { 0}; // すべてゼロに設定され
 
 
、[100] INT *配列=新しい新しいINT:動的
     []配列を削除し、
 
ダイナミック:INT *配列=新しい新しいINT [100](1,2);     
     []配列を削除します。
 

 

(2)二次元アレイ
//二次元のアレイ
静的:int配列[10] [10 ]; 
静的:int配列[10] [10 ] = {{1,1}、{2,2}}; 
 
動的:INT(*配列)[N ] =新しい新しいINT [M] [N - ]、
     []配列を削除し、
 
ダイナミック:配列=新しい新しいINT INT ** * [m]は、
     (I)のために
        配列[I]は=新しい新しいINT [N-]; 
     のために(I)が
        削除します[]配列[I]は、
     []配列の削除、
 
ダイナミック:配列=新しい新しいINT INT * [m]を[N-]、
    []配列を削除します。

 

(3)多次元配列
INT *配列=新しいINT [M] [3] [4]。
[]アレイを削除します。

 

2. char配列

チャーは、[]の文字列を表します。

注:配列名は定数を変更することができない、配列の名前を割り当てるか、変更することはできません

//文字の一次元アレイは、[10]チャー
チャー[10] [5] ; // 文字の二次元アレイは、
char型[5] = { ' A'、 'B'}; // に割り当てられた複数の文字を文字配列
[] = { 'Aチャー '、 'B'}; // 文字列に割り当てられた複数の文字
 
[5] = { "チャー ABC"}; // 文字列に割り当てられた文字列の
文字[5 ] =「ABC」; //文字列に割り当てられた文字列
[] =「ABC」のchar ; // 配列に割り当てられた文字の文字列
 
//注:文字列は、文字列として「\ 0」ターミネータは常にありますコンパイラが自動的に「\ 0」の末尾に追加されました
 

 

3.アレイのパラメータ渡し

質量参加の(1)一次元アレイ
//パラメータは、一次元アレイ通
空隙FUNC(INT *配列)、
 
FUNC(int配列[])を無効。
 質量参加の(2)二次元アレイ
通過//二次元アレイパラメータ
ボイドFUNC(INT **配列); 
 
ボイドFUNC(INT(*アレイ)[N-])。

 

II。ポインタ

1.char *

CHAR *文字ポインタ

* P = CHAR "テスト"; 
するchar * P = { "テスト"}; 
 
// pは文字列定数であるため、書くことが推奨されるポインタ:CONSTするchar * P = "テスト "。

 

3.スマートポインタ

4.二次元および三次元のポインタのポインタ

 

III。配列とポインタ

そして、同じ1.charの*はchar []の

伝達関数パラメータ、および文字列を別の文字ポインタに置き換えることができた場合

テストボイド(* INT A){ 
 
    するchar * A = "ABC"; //ローカル関数を呼び出し、一定のアドレスポインタ変数ポイントが消えない
    [] = "ABC" char型 ; //ローカル関数呼び出しと、Aメモリアレイポイントが破壊され
} 
 
int型のmain(){ 
 
    [] = "テスト" int型、   
    INTを* P; 
    P = A・[0]; 
    P = + 1; 
 
    試験(A); 
}

 

2.char *チャー[]異なります

文字ポインタが可変である、値が変更されてもよい(1)、文字配列名が変数、一定ではありません

(2)変数、定数ではない文字列に文字ポインタを、メモリ領域の文字列の名前になることが

おすすめ

転載: www.cnblogs.com/k5bg/p/11121413.html
おすすめ