자기참조 구조체에서의 배열 사용?! 조언 부탁드려요 ㅠㅠ
가온길
질문 제목 : 자기참조 구조체에서의 배열 사용?!
자기참조 구조체에서 배열을 선언하면 어떻게 사용하나요?질문 내용 : 좌표상에서 x, y값을 저장하고 주위(위/아래/오른/왼쪽) 값들의 좌표 x, y값도 저장하려고 구조체를 만들었는데요
아래 코드를 실행하면 에러 없이 실행은 되는데 여기가 문제! 라고 쓴 부분에서 프로그램이 그냥 멈추나 봐요.. 아래 있는 printf는 출력조차 안되네요ㅠ
자기참조구조체로 들어가서 d[0]일 때 현재 좌표(1, 1)의 아래쪽(1, 0)을 저장하고 싶은 건데 어떻게 해야할까요
고수님들의 조언 꼭 부탁드려요.....
#include cstdio
struct coordinate{
int x; // x좌표
int y; // y좌표
};
struct cinfo{
cinfo *d[4];
coordinate pt; // 현재cell 정보
};
int main(){
cinfo s[25];
s[1].pt.x = 1;
s[1].pt.y = 1;
printf(s[1].pt.x: %d\n, s[1].pt.x); // 출력됨
printf(s[1].pt.y: %d\n, s[1].pt.y); // 출력됨
s[1].d[0]-pt.x = s[1].pt.x; // 여기가 문제 !
s[1].d[0]-pt.y = s[1].pt.y-1; // 여기가 문제! printf(s[1].d[0]-pt.x: %d\n, s[1].d[0]-pt.x); // 출력되지 않음 ㅠㅠ
printf(s[1].d[0]-pt.x: %d\n, s[1].d[0]-pt.x); // 출력되지 않음 ㅠㅠ
return 0;
}
-
비예
S[1].D[0]-Pt.x = S[1].Pt.x;
문장을 실행하기 위해서는
S[1].D[0] 에 먼저 값(Cinfo가 저장된 주소)이 할당되어야 합니다.