Apologies if this is simple, but I am new to C. I am trying to create a loop that fills in an empty array of strings with multiple strings. However, at the end, the whole array is being filled with the latest element ! Below is the code:

```
int main(void)
{
    string array_test[2];
    char string_test[300];

    for (int i = 0; i < 2; i++)
    {
        snprintf(string_test, sizeof(string_test),"Test: %i", i);
        array_test[i] = string_test;
    }

    for (int i = 0; i < 2; i++)
    {
        printf("%s\n", array_test[i]);
    }
}

```

This returns:

```
Test: 1
Test: 1

```

But I am expecting:

```
Test: 0
Test: 1

```