Вы только что объявили структуры, вам также нужно их создать, и, следовательно, ОБЩЕСТВО указывает на ничто. Также вы перебираете 32 значения, в то время как в массиве char только 15. Я, надеюсь, изменил кодВы получите представление здесь
#include <stdio.h>
typedef struct
{
char Person[15];
} stName;
typedef struct
{
stName Name;
} stSociety;
#define ADDRESS SOCIETY->Name
int main()
{
stSociety* SOCIETY,sample;
SOCIETY = &sample;
int i;
for (i=0; i<15; i++)
{
ADDRESS.Person[i] = '0';
}
printf("ADDRESS.Person=%s\n", ADDRESS.Person);
printf("Finished");
return 0;
}