본문 바로가기

프로그래밍 언어 문제/C

[C언어] 연습문제10

[문제]

Point라는 이름의 구조체를 선언하고 Point형 포인터 변수를 그 멤버로 선언하자.
그리고 점1을 [1, 1], 점2를 [2, 2], 점3을 [3, 3]으로 초기화 하고 포인터 변수를 이용하여
점1을 점2와 점2를 점3과 점3을 점1과 연결하자.
마지막으로 점의 연결관계를 아래 실행결과와 같이 출력해보자.

 

[실행결과]

점의 연결관계...
[1, 1]와(과) [2, 2] 연결
[2, 2]와(과) [3, 3] 연결
[3, 3]와(과) [1, 1] 연결

 

[코드]

#include<stdio.h>

struct point
{
	int xpos;
	int ypos;
	struct point* ptr;
};

int main(void)
{
	struct point pos1 = { 1, 1 };
	struct point pos2 = { 2, 2 };
	struct point pos3 = { 3, 3 };

	pos1.ptr = &pos2; // 점1과 점2 연결
	pos2.ptr = &pos3; // 점2와 점3 연결
	pos3.ptr = &pos1; // 점3과 점1 연결

	printf("점의 연결관계... \n");
	printf("[%d, %d]와(과) [%d, %d] 연결 \n",
		pos1.xpos, pos1.ypos, pos1.ptr->xpos, pos1.ptr->ypos);
	printf("[%d, %d]와(과) [%d, %d] 연결 \n",
		pos2.xpos, pos2.ypos, pos2.ptr->xpos, pos2.ptr->ypos);
	printf("[%d, %d]와(과) [%d, %d] 연결 \n",
		pos3.xpos, pos3.ypos, pos3.ptr->xpos, pos3.ptr->ypos);

	return 0;
}

 

<참고>

윤성우의 열혈 C 프로그래밍

'프로그래밍 언어 문제 > C' 카테고리의 다른 글

[C언어] 연습문제5  (0) 2022.04.20
[C언어] 연습문제6  (0) 2022.04.16
[C언어] 연습문제7  (0) 2022.04.15
[C언어] 연습문제8  (0) 2022.04.13
[C언어] 연습문제9  (0) 2022.04.13