I am tryng to fill and struct within struct with array. Is there any way I can do it? I tried loops and simply just putting array instead of hard numbers but no luck. Here code:
typedef struct
{
    int *tokens;
    char *name;
    int numTokens;
    int index;
} Pile;
typedef struct
{
    Pile N;
    Pile W;
    Pile E;
    Pile S;
} Game;
int main(void)
{
    //tokens
    int north[MAX_TOKENS], west[MAX_TOKENS], east[MAX_TOKENS], south[MAX_TOKENS];
    // sizes of token value fields
    int north_size = 0, west_size = 0, east_size = 0, south_size = 0;
    int check = read_tokens(north, west, east, south, &north_size, &west_size, &east_size, &south_size);
    //I read them and then store backwards.
    int *arrays[4] = {north, west, east, south};
    int sizes[4] = {north_size, west_size, east_size, south_size};
    store_values_backwards(arrays, sizes);
    //Then I need to send arrays with the numbers I read into this
        Pile N = {(int[]){*north}, "N", north_size, 0};
        Pile W = {(int[]){*west}, "W", west_size, 0};
        Pile E = {(int[]){*east}, "E", east_size, 0};
        Pile S = {(int[]){*south}, "S", south_size, 0};
Instead of hard coded numbers like:
  Pile N = {(int[]){-66, -52, 109}, "N", 3, 0};
  Pile W = {(int[]){78}, "W", 1, 0};
  Pile E = {(int[]){118,146,46,77}, "E", 4, 0};
  Pile S = {(int[]){67,159,-13}, "S", 3, 0};
 
    