[C language] 문법 오류와 문맥 오류

2020. 11. 20. 19:53· 프로그래밍언어/C언어

문법오류는 개발환경이나 컴파일러의 도움을 통해 쉽게 찾을 수 있으나 문맥오류는 컴퓨터가 구분 할 수 없어 직접 찾아야 하기 때문에 더 어렵다. 테스트를 할 때 문맥오류가 있을 경우 그것을 알려 줄 수 있는 예제인지, 실험이 제대로 되었는지는 스스로가 생각해야 한다.

 

#include <stdio.h>

int main()
{
    int n1, n2, n3, n4;

    n5 = 3;

    n1 = 1;
    n2 = n1 * n1;
    n3 = n2 * n1;
    n4 = n2 * n1;

    return 0;
}

문법 오류(syntax error)

n5 = 3;

- 비주얼스튜디오 개발환경에서 잡아주는 법 : 빨간물결표시

코드 입력창에서 n5 = 3; 부분에 빨간물결표시로 확인가능

- 컴파일러가 문법 문제가 있다고 인식 못하는 경우 : Build Solution(단축키 : Ctrl +F7) 후 Output창에서 error 확인.

실행시키지 못하는 이유로 'n : undeclared idntifier' 이런 오류가 났다고 알려준다.

​

두 오류 내용이 같게 나오는게 일반적이지만 다르게 나오는 경우도 있다.

문법오류는 컴파일러가 인식을 못해서 컴파일러로 잡는 방법이 오히려 쉽게 오류 수정이 가능하다.

문맥 오류(semantic error)

n4 = n2 * n1; (n의 n제곱 구하는게 목표인 코드에서 문맥 오류 부분)

- 컴파일러는 문맥오류를 잡아 주기 힘들다. 그래서 디버그를 통해 오류를 찾아야 한다.

간단한 코드나 남의 쓴 코드는 문맥 오류가 쉽게 보이기도 하나 복잡한 코드나 내가 맞다고 생각하고 쓴 코드에서는 문맥 오류를 잡기가 어렵다.

- 문맥 오류 잡는 방법 : 테스트(좋은 test sample 만들기)

n1 = 1로 잡고 디버그 할 경우 n4의 값이 1이기 때문에 결과가 제대로 나왔는지 구분하기 힘들다.

n1 = 2로 잡고 디버그 할 경우 n4의 값이 16이 아닌 8로 나와서 이 부분이 오류라는 것을 알 수 있다.

 

 

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

[C language] 데이터와 자료형  (0) 2020.11.22
[C language] 읽기 좋은 코드를 만드는 요령  (0) 2020.11.20
[C language] 디버거 사용법  (0) 2020.11.20
[C language] 함수 만들기  (0) 2020.11.20
[C language] 주석 다는 방법  (0) 2020.11.18
'프로그래밍언어/C언어' 카테고리의 다른 글
  • [C language] 데이터와 자료형
  • [C language] 읽기 좋은 코드를 만드는 요령
  • [C language] 디버거 사용법
  • [C language] 함수 만들기
개발원슝이
개발원슝이
꾸준히 개발공부를 합니다.
개발원슝이
꾸준히 개발슝이
개발원슝이
전체
오늘
어제
  • ALL (242)
    • 프로젝트 (34)
      • clone coding (19)
      • mini project (5)
      • Team project(with KIC) (10)
    • 문제 (37)
      • 백준 (7)
      • 프로그래머스 (14)
      • 정보처리기사실기 (16)
    • 설치 (9)
    • 개발 기초 (13)
    • 프로그래밍언어 (124)
      • HTML (16)
      • CSS (17)
      • JavaScript (22)
      • JAVA (13)
      • JSP (10)
      • Python (22)
      • C언어 (24)
    • 프레임워크 (6)
      • Spring (3)
      • Django (3)
    • DB (2)
      • MySQL (2)
    • AWS (1)
    • 오류 (2)
    • 이것저것 (6)
    • 전공자 개발 (3)
    • 비전공자 개발 (5)

블로그 메뉴

  • 네이버블로그(강의노트)
  • GitHub
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 따배씨
  • javascript
  • 점프 투 파이썬
  • 홍정모의 따라하며 배우는 C언어
  • 생활코딩
  • 홍정모교수님
  • 인프런
  • 파이썬공부
  • 코딩테스트
  • 백준

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
개발원슝이
[C language] 문법 오류와 문맥 오류
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.