뉴비 시절의 추억

컴퓨터 코딩하면서 생기는 에러 총정리!!(어디에도 없는 신박한 정리)

태장고 21302 2021. 4. 1. 14:59

코딩을 체점하다 보면 다양한 형식의 에러가 많이 생긴다. 이런 에러가 생기는 이유를 이해하고 고쳐보자

이것을 보고 난 후에는 정확히 어디에서 어떻게 틀렸는지를 찾을 수 있길 바란다. ( 에러에서 헤메고 있는 친구를 위해..)

 

1. 컴파일 에러 : 컴파일러가 소스코드를 해석하지 못 했음

에러 중에 가장 많이 보는 " 컴파일에러 " 는 컴퓨터가 너의 코딩을 읽지 못했을 때 나타나는 에러이다.

ex) 

#include <stdio.h>

int main()
{
    int a :
    scanf(" %d ", a );
    printf(" %d ", a );
    
    return 0;
}

위의 코드의 경우 " 컴파일 에러 " 왜냐하면, int a : 에서 ' ; '이 아니라 ' : ' 이기 때문이다.

컴퓨터는 이렇게 에러가 발견된 시점부터 아래의 것은 실행하지 않지만 우리는 더 알아보도록 하자.

자세히 보면 scanf(" %d ", a ); 에서 a의 앞에 &이 빠진 것을 알 수 있을 것이다.

 

팁을 조금 주자면 나의 경우에는 같은 코드를 한번 더 짜본다 이런 방식을 사용하면 너가 새로 만든 같은 코드와

원본 코드 사이의 오류를 찾을 수 있을 뿐만 아니라, 너가 짠 코드를 한번 더 해석함으로써 기억에 더 오래 남을

수도 있다.

 

결론적으로 컴퓨터가 인식할 수 있는 언어 외의 것이 나오면 컴파일 에러가 뜬다.

( 우리의 경우에도 "안녕" 을 "아녕" 이라 하면 정확한 뜻을 알 수 없을 것이다. )

 

2. 틀림

우리가 2번째로 많이 보는 에러일 것이다. " 틀림 " 은 값이 틀렸을 경우에 뜨는 오류이다.

이 오류의 경우는 간단하다.

출력 결과가 a가 나왔어야 하는데 g가 나온 것이다.

숫자로 해 보자면 출력 결과가 99999여야 하는데 1이 나온 것이다.

 

이런 에러가 떳을 때는 답이 잘못 나온 것이므로 코드를 다시한번 천천히 보면 어딘가 틀려있을 것이다.

모르겠다면 인터넷에 검색해서 필요한 내용을 찾아보자.

 

3. 메모리 용량 초과

이 오류는 말 그대로 메모리 용량을 넘어 섰을 때 생기는 오류이다.

메모리 제한의 경우에는 문제 바로 아레에 써 있다.

이렇게 말이다. ( 옆에 있는 시간제한은 조금 있다가 해보자! )

 

4. 시간 초과

이 오류는 위의 메모리 용량 초과와 비슷하게 시간을 초과하면 생기는 오류이다. 

글쓴이가 여러번 해본 결과 컴퓨터가 코드를 실행하는 시간을 의미하는 것 같다.

시간제한을 아는 방법은 위에 나와 있는 사진에서 메모리 제한 옆을 보면 된다.

 

외에도 여러가지 오류가 있지만 이렇게 4개만 주구장창 보게 될 것이다.

모든 오류를 해석하는 가장 좋은 방법은 자신의 코드를 되돌아 보고 찾아보며 찾아내는 것이다.

실력이 빠르게 오르고 싶다면 한/영을 가리지 않고 열심히 봐 보아라! 그렇게 한다면 1달 뒤 미친 실력의 실력자가 될 수 있다. 코딩 입문자들 모두 화이팅!!!

 

참고 : 제목에 있는 색깔은 오류가 났을 때 나타나는 색을 의미한다. 예시는 아래와 같다

 

 

사진 출처 : codestart.kr