動的配列を初期化します。
定義
JIRO_ARY_HDL Jiro_Ary_Init(long inRecSize, long initRecNum, long inExpandRecNum);
戻り値
初期化した動的配列のハンドルを返します。 グローバルメモリ領域に必要な量が無く、領域確保に失敗した場合はNULLを返します。
引数
- inRecSize
格納するデータ構造1つ分のサイズを指定します。 一般的に sizeof 演算子を用いて指定してください。 - initRecNum
確保するグローバルメモリ領域の初期サイズを、格納する単位データの個数で指定します。 0以下の値を指定するとデフォルト値20を使用します。 - inExpandRecNum
動的配列領域を拡張する際の、拡張する単位レコード数を指定します。 0以下の値を指定するとデフォルト値20を使用します。
解説
Jiro_Ary_Initは内部で動的配列用のメモリ領域を確保し、そのハンドルを返します。使い終わったメモリ領域は Jiro_Ary_Freeで解放してください。
プログラム例
プログラムソース
#include <stdio.h>
#include “JiroMac.h”
// Windowsで利用する場合はJiroMac.hではなくJiroWin.hを利用してください
//#include “JiroWin.h”
// Jiro_Ary に格納するデータ構造
struct IMAGINARY_NUMBER
{
long real;
long imag;
};
void main( void )
{
long i;
IMAGINARY_NUMBER inum;
JIRO_ARY_HDL aryHdl;
// 生成
aryHdl = Jiro_Ary_Init( sizeof(IMAGINARY_NUMBER), 10, 5 );
// 3+i を追加
inum.real = 3;
inum.imag = 1;
Jiro_Ary_Add( aryHdl, &inum );
// 2+3i を追加
inum.real = 2;
inum.imag = 3;
Jiro_Ary_Add( aryHdl, &inum );
// 0+2i を追加
inum.real = 0;
inum.imag = 2;
Jiro_Ary_Add( aryHdl, &inum );
// データを表示
for( i=0; i<3; i++ )
{
Jiro_Ary_GetData( aryHdl, i, &inum );
printf( “%d+%di\n”, inum.real, inum.imag );
}
// 解放
Jiro_Ary_Free( aryHdl );
}
出力
3+1i
2+3i
0+2i