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”
// 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

参照