Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Python
- dfs
- 백준
- web
- BFS
- 따배씨
- server
- sorting
- DP
- greedy
- udemy
- 생활코딩
- programmers
- String
- Math
- BOJ
- php
- Algospot
- 인프런
- 종만북
- Algorithm
- 정수론
- C
- JavaScript
- BASIC
- 따라하며 배우는 C언어
- C언어
- graph
- 따라하면서 배우는 C언어
- Cleancode
Archives
- Today
- Total
몽상실현개발주의
[따배씨] 4.5 기호적 상수와 전처리기 ~ 4.6 명백한 상수들 본문
따배씨 - 따라하며 배우는 C언어
4강 문자열과 형식 맞춘 입출력
4.5 기호적 상수와 전처리기
#define PI 3.141592f
- 반복해서 상수를 기호적 상수로 처리하여 실수를 줄일수 있음
#include <stdio.h>
#define PI 3.141592f // 기호적 상수로 사용, 전처리기
int main()
{
float radius, area, circum;
printf("Input radius\n");
scanf("%f", &radius);
// area = 3.1415892f * radius * radius; // area = pi * r * r
area = PI * radius * radius;
// circum = 2.0 * 3.141592f * radius; // circum = 2.0 * pi * r
circum = 2.0 * PI * radius;
printf("Area is %f\n", area);
printf("Circumfrerence is %f\n", circum);
return 0;
}
- 전처리기는 Compiler 입장에서는 변화없음
- 사용자의 편의를 위한 기능
- 입력한 상태 그대로 입력이 되기 때문에 주의해야함
- PI 에 "= 3.141592f" 로 단순 대입됨
- 관습적으로 define 으로 선언하는 변수명은 대문자 표기
- 기호적 상수로 사용학 위해 "const" 를 이용 해도 됨
- const float PI = 3.141592f;
- 최근에는 "define" 보다는 "const" 사용하는 것을 권장
- C++은 확실하게 권장
4.6 명백한 상수들 Manifest Constants
#include <stdio.h>
#include <limits.h> // INT_MAX, ..., etc
#include <float.h> // FLT_MAX< ..., etc
#define PI 3.141592f // manifest constants, symbolic constatnt
int main()
{
printf("PI is %f\n", PI);
// PI is 3.141592
printf("Biggest in: %d\n", INT_MAX);
// Biggest in: 2147483647
printf("One byte in this system is %d bits\n", CHAR_BIT);
// One byte in this system is 8 bits
printf("Smallest normal float %e\n", FLT_MIN);
// Smallest normal float 1.175494e-38
return 0;
}
- Manifest Constants 는 변수의 개념이 아닌, 전처리기에서 내용을 가져다 사용하는 것
이 글의 모든 사진과 내용의 출처는 홍정모 교수님께 있음을 알려드립니다.
http://blog.naver.com/atelierjpro
http://www.inflearn.com/course/following-c
'Language > C' 카테고리의 다른 글
[따배씨] 4.8 변환 지정자의 수식어들 (0) | 2021.05.14 |
---|---|
[따배씨] 4.7 pritnf() 함수의 변환 지정자 (0) | 2021.05.13 |
[따배씨] 4.4srlen() 함수 (0) | 2021.05.13 |
[따배씨] 4.3 문자열이 메모리에 저장되는 구조 (0) | 2021.05.12 |
[따배씨] 4.2 sizeof 연산자 (0) | 2021.05.12 |
Comments