内部にint配列を持つ構造体があり、配列を初期化するために関数に渡しています
そのような配列構造..
typedef struct Container{
struct intArray *P;
int length;
} Container;
typedef struct intArray{
int *array;
int length;
} intArray;
そのように配列を初期化する関数...
int Initializer(intArray *myStruct, int n)
{
myStruct->array = malloc(sizeof(int) * (lengthOfint);
^
If n=55 then length would be 2
//let's just say n=5
myStruct->array[0] = n;
//return 1 if successful
return 1;
}
別の関数では、イニシャライザ関数を次のように呼び出しています...
Container *myContainer = malloc(sizeof(Container));
myContainer->P = malloc(sizeof(intArray *) * Some_Defined_Value);
Initializer(&myContainer, 5);
printf("the data that should be at index 0 -> %d\n", myContainer->P.array[0];
printf ステートメントは 5 を出力すると思いますが、コンパイルするたびにさまざまな数のガベージを出力します。構造体のアイデア内の構造体内の配列を把握しているとは思いません。