역할
문자열이 정수형 상수를 대신하도록 한다.
→ 데이터를 프로그래머 입장에서 해설할 수 있게 함
형식
enum 태그 { 문자열1, 문자열2, ...};
enum 태그 { 문자열1 = 초기값, 문자열2, ...};
선언 형식
enum 태그 {ZERO, ONE, TWO};
enum 태그 변수명;
변수명 = ONE;
'enum형 변수에는 상수 대신 정의한 enum 문자열만 사용'
일반적인 enum 형 변수 사용 예
// 일반적인 enum 형 변수 사용 예
#include <stdio.h>
#include <stdlib.h>
enum COUNT{ZERO, ONE, TWO};
int main(void){
enum COUNT ncount;
ncount = ONE;
printf("%d\\n", ncount);
return 0;
}
typedef를 적용한 enum 형 변수 사용 예
// typedef를 적용한 enum형 변수 사용 예
#include <stdio.h>
typedef enum _COUNT{ONE =1, TWO, THREE} COUNT;
int main(void){
COUNT ncount1, ncount2, ncount3;
ncount1 = ONE;
ncount2 = TWO;
ncount3 = THREE;
printf("%d %d %d\\n", ncount1, ncount2, ncount3);
return 0;
}
역할
제어를 레이블이 있는 위치로 이동시켜 실행하게 함
레이블 lavel
제어를 옮길 위치를 나타냄
goto문 주의 사항과 사용 예
많은 goto문은 제어를 복잡하게 한다.
break와 return 문 사용
중첩된 for문을 빠져 나갈 때 goto문 사용
break는 for문 한 단계만 빠져나가므로
형식
int main(){
...
if(m ==3){
goto STOP;
}
STOP:
printf("end\\n");
}
소스코드
#include <stdio.h>
#include <stdlib.h>
int main(void){
int i, j;
for(i = 0; i < 5; i++){
for(j = 0; j < 2; j++){
if(i==3){
goto STOP;
}else{
printf("i : %d\\tj : %d\\n", i, j);
}
}
}
STOP:
printf("종료\\n");
return 0;
}