[ goto 키워드 ]

 

프로그램의 실행 위치를  정해진 위치로 이동 시킬때 사용되는 키워드이다. 

 

[코드]

 

[결과]


 

─────────────────────────────────────────────

 

위에 프로그램 예시에서 중요한것은 goto문은 단순히 프로그램 실행위치를 바꿔주는것 뿐이라는 점 

사실상 goto문은 많이 사용하지 않는다. 프로그램 구조가 때로는 많이 복잡해질 수도 있기 때문이다.

 

나도 머 자주 사용하는건 아니지만, 쓸때는 확실히 가독성을 중점으로 코딩하는것이 좋다.

 

이렇게 말해도 goto문은 정이 안간다.

1000줄, 10000줄되는 코드에 goto문의 3~5개의 lable을 왔다갔다 하면서, 디버깅을 해본사람이라면 알수 있을꺼다.

 

 

위에 코딩처럼 어떻게 로직을 구성하느냐에 따라 달라지긴 하겠지만, 중갈호를 붙여 구분을 짖고, lable은 구분을 지어 해당 영역만 실행되는 switch문의 스타일로 사용해도 나쁘진 않다.

 

[결과]

 

goto문의 문법적요소는 프로그래머가 goto문을 사용해 어떻게 코딩을 하냐에 따라 너무 크게 영향을 준다. 그러므로 신중히 사용할 필요가 있겠다. 득이될지, 독이 될지는 프로그래머 몫

 


 

[ 연산자 ]

 

 

증감 연산자 ( ++ , -- )

 


 

위의 코드에서 왜 for문은 전위,후위를 썼는데도 출력 값은 같을까요?

간단합니다. 

 

int i;

for ( i =0 (1번) ; i < 5 (2번) ; i++ (4번) )

{

printf(); (3번)

}

for문 루프의 흐름은 이렇게 됩니다.

 

먼저 반복되어지는 코드로 들어가죠

왜 전위,후위를 사용해도 같은값이 나오는지 이제 딱 감이오죠?

 

보통 for문의 증감식에 증감 연산자를 사용하게 되는데 컴파일러에서 최적화를 하기 때문에 차이가 없을 수도 있지만 최적화를 하지 않을 경우에는 전위 증감 연산자를 사용하면 후위 증감 연산자 보다 성능상 이득이 있을 수 있습니다.

 

증감 연산자를 사용할 때 전위나 후위 모두 사용해도 될 경우에는 전위 증감 연산자를 사용하면 성능상 이득을 볼 수 있습니다

 

 

배열에서 전위,후위 증감연산자

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int main(){
 
    int arr[5] = {1, 2, 3, 4, 5 };
    int pos = 0;
 
    cout<<arr[pos++]<<endl;        // 출력값 : 1
    cout<<arr[pos]<<endl;        // 출력값 : 2
    cout<<arr[++pos]<<endl;        // 출력값 : 3
    cout<<arr[pos]<<endl;        // 출력값 : 3
 
 
    system("pause");
    return 0;
}

 

 

─────────────────────────────────────────────

복합 대입연산자 = , += , -= , *= , /= , %= )

 

int a += 4; 

  

풀어쓰면

 

int a = a + 4; 의미 합니다.

 

결과값은 4

 

 

─────────────────────────────────────────────

sizeof 연산자 

 

변수나 자료형의 사이즈를 계산하는 연산자 입니다.

 
int num = 0;
 
printf( "%d \n" , sizeof(int) );
printf( "%d \n" , sizeof(num) );
 
int 형 변수는 4byte이므로
두개의 printf 결과 값은 4


+ Recent posts