Jiro_Ary_Init
動的配列を初期化します。
定義
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"
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 );
inum.real = 3;
inum.imag = 1;
Jiro_Ary_Add( aryHdl, &inum );
inum.real = 2;
inum.imag = 3;
Jiro_Ary_Add( aryHdl, &inum );
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
参照
|