3-6配列、コレクションTips141 C言語の配列を扱う
Level2
PointC言語での配列の利用(int型、ポインター、malloc関数、free関数)
Objective-Cでは、NSArrayクラスやNSMutableArrayクラスだけでなく、C言語の配列も直接利用ができます。
C言語の配列は、「int 変数[要素数]」のように、[ ]の中に要素数を指定して初期化します。
型名 変数名[ 要素数 ];
動的にC言語の配列を使う場合には、ポインターを使います。要素を保存するメモリを確保するために、malloc関数を実行し、メモリが不要になったときにfree関数を実行します。
malloc関数は、voidのポインタを返すので、目的の型にキャストをして利用します。malloc関数の引数は、メモリのバイト数になるので、実際に取得するバイト数は「変数のメモリ領域×要素数」となります。変数の占めるメモリの大きさは、「sizeof(型)」で調べられます。
以下のコードの1行目が取得、2行目が解放のコードです。
型名 *変数名 = (型名 *)malloc(sizeof
(型名)*要素数);
free( 変数 );
リスト1では、int型の配列を2つの方法で作成しています。最
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録