0

array という整数ポインタと size という整数変数を含む arrayData という構造体を作成します。

次のヘッダーを持つ関数を作成します: arrayData* createArray(int size)。この関数内で、新しい arrayData 構造体のスペースを malloc します。次に、入力変数を要素数として使用して配列を作成する必要があります。最後に、malloc された arrayData ポインターの変数を、配列と配列サイズに等しく設定する必要があります。最後に、malloc された arrayData 構造体のポインタを返します。

上記の用語のコードは次のとおりです。

struct arrayData
{
    int *array;
    int size;

};


struct arrayData* createArray(int size)
{
    struct arrayData *str = (struct arrayData*)malloc(sizeof(struct arrayData));
    int a = 10;
    str->array = (int*)malloc(size * sizeof(int));
    str->size = size;
    for ( a = 0; a < 10; a++ )
    {
        str->array[i] = a; 
    }
    return str;
}

さらに、次のようなことをしたい: 次のヘッダーを持つ関数を作成します: void printArray(arrayData *data)。この関数は、入力変数の配列内のすべての値を出力します。出力は次のようになります。 value1 value2 value3 value4

次のヘッダーを持つ関数を作成します: void freeMem(arrayData *data)。この関数では、malloc されたすべてのメモリを解放します。

どうすればこれを行うことができますか?

4

2 に答える 2

0

配列の印刷用。

  void printArray(struct arrayData *data) {
      int i;
      for(i=0;<data->size;i++) {
          printf("\t%d",data->array[i]);
      }
  }

無料に

   void freeMem(struct arrayData *data) {
         free(data->array);
         free(data);
   }
于 2013-10-19T22:37:29.133 に答える