#include <stdio.h>
struct IntData
{
 int n1;
 int n2;
};
struct StrData
{
 char str1[20];
 char* str2;
};

void main()
{
 struct IntData di, *dip;
 struct StrData ds, *dsp;

 dip = &di;
 dsp = &ds;

 scanf("%d %d\n",dip->n1,dip->n2);
 scanf("%s %s\n",dsp->str1,dsp->str2);

 printf("%d %d\n",dip->n1,dip->n2);
 printf("%s %s\n",dsp->str1,dsp->str2);
}


정수두개와 문자열 두개를 입력받아서 출력시키는 소스인데

오류가 발생하는 부분과 알맞은 코드로 수정하라고 합니다.


저는 struct IntData di, *dip;이 부분이 전혀 그림이 안그려지네요

dip라는 포인터 변수로 구조체가 이루어 진다는게 뭔지 전혀 모르겠네요