C언어

[C언어] 개행 문자

_minit 2024. 12. 13. 12:05

 

Keil 환경에서 ARM Compiler를 쓰며 마지막 줄에 개행 문자(\n)를 넣지 않으니 Waring 메시지가 떴었다. 

찾아보니 C언어에서는 파일의 마지막에 개행 문자(\n)를 넣어야 한다는 규칙이 존재한다. 하지만, 실제 컴파일 환경에서 이 규칙을 무시해도 대부분의 경우 문제가 발생하지 않는다. 그렇지만 개행 문자를 마지막에 꼭 넣어야 하는지 알아보자.

 

C 표준의 규칙

C 표준(ISO C)에 따르면, 소스 파일의 마지막 줄은 반드시 개행 문자로 끝나야 한다. 그렇지 않을 경우, 컴파일러에 따라 다음과 같은 문제가 발생할 수 있다.

  • 소스 코드가 제대로 종료되지 않았다고 간주될 수 있다.
  • 다른 파일과 합칠 때 의도치 않은 문제가 생길 수 있다.

 

왜 개행 문자가 필요한가?

1. POSIX 시스템 규칙 : POSIX에서는 텍스트 파일이 항상 개행 문자로 끝나야 한다고 정의한다. 이를 따르지 않으면 시스템이 텍스트 파일을 올바르게 읽지 못할수 있다. 

2. 파일 합치기 문제 : `#include` 나 여러 파일을 합칠 때 개행 문자가 없으면 코드가 예상치 못한 방식으로 합쳐질 수 있다.

 

파일의 개행 문자 확인 방법

cat -e filename.c
  • 개행 있음 : `int main() { return 0; }$`
  • 개행 없음 : `int main() { return 0; }`

 

728x90

'C언어' 카테고리의 다른 글

[C언어] printf 함수 구현  (0) 2024.12.19
[C언어] qsort() 함수란?  (0) 2024.11.18
srand() 함수란?  (0) 2024.11.15
[C언어] OOP 공부 (2)  (1) 2024.11.13
티스토리 기본모드 수식 삽입  (2) 2024.11.13