몽상실현개발주의

[따배씨] 4.5 기호적 상수와 전처리기 ~ 4.6 명백한 상수들 본문

Language/C

[따배씨] 4.5 기호적 상수와 전처리기 ~ 4.6 명백한 상수들

migrationArc 2021. 5. 13. 18:43

[따배씨] 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

 

실리콘 밸리의 프로그래머 : 네이버 블로그

안녕하세요! 홍정모 블로그에 오신 것을 환영합니다. 주로 프로그래밍 관련 메모 용도로 사용합니다. 강의 수강하시는 분들은 홍정모 연구소 카페로 오세요.

blog.naver.com

http://www.inflearn.com/course/following-c

 

홍정모의 따라하며 배우는 C언어 - 인프런 | 강의

'따배씨++'의 성원에 힘입어 새롭게 개발된 C 언어로 시작하는 프로그래밍 입문 강의입니다. '따배씨'와 함께 프로그래밍 인생을 업그레이드 해보세요., 따라하며 배우는 C언어 '따배씨++'의 성원

www.inflearn.com

 

Comments