본문 바로가기
배운 것들 메모/따라 배우는 C언어

[홍정모의 따라하며 배우는 C언어] 5.1 반복 루프(loop)와의 첫 만남

by 야속한 낭만 2024. 8. 26.

5.1 반복 루프(loop)와의 첫 만남

2024-07-24

 

반복 루프의 고전적인 방법

int main()
{
 int n = 1;
 
 label:
	 printf("%d\n", n);
	 n = n + 1;
	 
	 if(n == 10) goto out;
 goto label;
 
 out:
 
 return 0;
}

label:이란?

label: 레이블을 정의하는 구문.
레이블은 코드 내의 특정 위치를 식별할 수 있는 부여하는 방법이다.
여기서 label: 에서 label 은 레이블의 이름임.
: 는 레이블 정의의 끝을 표시한다.
이 부분은 goto 문에서 참조할 수 있는 위치를 알려준다.

goto문이란?

코드의 흐름을 코드 내 다른 위치로 직접적으로 이동시키는 명령이라고 한다.
이 명령은 label로 지정된 위치로 이동하게 함.

위에 것들은 사용자가 직접적으로 흐름을 제어하려고 하기 때문에, 복잡하게 생겼고 이에 의해 가독성도 낮고 유지보수도 힘들다.

따라서 이를 해결하기 위해서 while문이 나왔다.

int main()
{
	int n = 1;
	
	while (n < 4)
	{
		printf("%d\n", n);
		n = n + 1;
	}
	
	return 0;
}

이런 식으로 써져있다.
while 괄호 안에는 조건을 쓴다.
그리고 그 안에는 변화하는 조건을 넣어줘야한다. 안 그러면 1로 무한 반복이 된다. ( 물론 이를 이용해서 프로그램을 계속해서 띄울 수 있다.)

괄호 안에 조건이 참일 경우 반복하고 거짓이 될 경우 프로그램은 멈춘다.

step over - f10 을 통해 반복문에 있는 것들이 어떻게 변화하는 지 알 수 있다.

 

 

출처:  홍정모의 따라배우는 C언어

강의 외의 추가된 것들은 책 그리고 인터넷 조사해서 얻었음