- C 프로그램을 일종의 토큰(의미를 구성하는 최소 단위)의 연속이라고 이해할 수 있음.
printf ( "Height: %d\n" , height ) ;
① ② ③ ④ ⑤ ⑥⑦
- ①번과 ⑤번 토큰은 식별자들이고 ③번 토큰은 스트링 리터럴이며, 나머지 토큰들은 전부 구두점들임.
celsius.c 프로그램에선 int와 main 사이, float와 fahrenheit 사이 등을 제외하고는 존재하는 대부분의 스페이스 제거 가능.
/* Converts a Fahrenheit temperature to Celsius */
#include<stdio.h>
#define FREEZING_PT (32.0f)
#define SCALE_FACTOR (5.0f / 9.0f)
int main(void){float fahrenheit, celsius;printf(
"Enter Fahrenheit temperature: ");scanf("%f", &fahrenheit);
celsius = (fahrenheit - FREEZING_PT) * SCALE_FACTOR;
printf("Celsius equivalent: %.1f\n", celsius);return 0;}
- 전처리 지시자들은 따로 한 줄에 존재해야하기 때문에 프로그램 전체를 한 줄로 작성할 수는 없지만, main 함수 전체를 한 줄에 작성할 수는 있긴 함. 하지만, 이건 지양해야하는 행동
프로그램에 빈 공간, 줄을 띄우는 것은 프로그램의 가독성을 매우 높여줌. C를 작성할 때 스페이스, 탭, 개행 등을 통해 토큰 사이에 넓은 공간을 만들어낼 수 있음.
- 토큰 사이의 스페이스는 가독성을 높여줌.
- 쉼표 이후에도 줄을 띄워주도록 하자.
- 들여쓰기는 함수 등을 찾기 쉽게 해줌.
- 빈 줄은 프로그램을 논리 흐름 덩어리로 구분 → 독자로 하여금 프로그램의 구조를 쉽게 파악할 수 있게 해줌.
위 코드의 main 함수를 따로 보면,
int main(void)
{
float fahrenheit;
float celsius;
printf("Enter Fahrenheit temperature: ");
scanf("%f", &fahrenheit);
celsius = (fahrenheit - FREEZING_PT) * SCALE_FACTOR;
printf("Celsius equivalent: %.1f\n", celsius);
return 0;
}
- 연산자들(=, -, *) 사이에 줄을 띄워 가독성 + 연산을 돋보이게 만들어줌.
- 선언, 구문들을 들여쓰기 함으로써 이들이 main 함수에 속한다는 것을 쉽게 알 수 있음.
- main 함수가 빈 줄에 의해 5개의 덩어리로 나뉨.
- ① fahrenheit, celciuss 변수 선언 ② 화씨 온도 입력받기 ③ celcius 값 계산 ④ 섭씨 온도 출력 ⑤ OS에 값 반환
❗ 토큰 내에 공간을 만들게 되면, 프로그램의 의미가 바뀌거나 에러가 발생하게 됨❗
// 예시1
fl oat fahrenheit, celsius; /*** WRONG ***/
// 예시2
fl
oat fahrenheit, celsius; /*** WRONG ***/
- 위와 같이 작성하면, 프로그램을 컴파일 할 때 에러가 발생할 것임.
💡 본 내용은 K.N.King의 C Programming: A Modern Approach 책을 참고하였습니다.
'📚 STUDY > 🔥 C' 카테고리의 다른 글
[3-1] printf 함수 (4) | 2024.09.02 |
---|---|
Q&A (GCC, GNU, 함수, 주석, 식별자, 레이아웃..) (4) | 2024.09.02 |
[2-7] 식별자 (0) | 2024.09.02 |
[2-6] 상수 이름 정의하기 (0) | 2024.08.22 |
[2-5] 입력값 읽기 (0) | 2024.08.22 |