티스토리 뷰

C

[C] 자료형과 선행처리기

tonirr 2021. 3. 19. 00:20
  • 상수와 변수
    • 자료형
      • 프로그램에서 사용하는 자료의 형태
      • 상수와 변수로 구분하여 사용
      • 프로그램에서 자료처리를 위해서는 자료의 생성과 저장, 처리과정이 필요
      • C 프로그램은 수많은 명령어와 자료들로 구성
      • 이들자료의 정확한 처리와 효율적인 활용이 필요
      • C언어는 여러가지 종류의 자료형(data type)을 지원
  • 상수(constant)
    • 항상 고정된 값을 갖는 자료
    • 값이 한번 정해지면 프로그램 도중 그 값을 변경할 수 없는 수
      • 정수형 상수
        • 10진수, 8진수, 16진수로 표현
      • 실수형 상수
        • 부동소수점 형 상수
        • double형을 기본 자료형으로 사용
      • 문자형 상수
        • 단일 인용부호('')로 묶여 있는 1개의 영문자나 숫자문자
        • 내부적으로는 해당문자의 ASCII 코드값이 사용
          • 'A'는 내부적으로 65(ASCII 코드값)가 사용된다.
        • Escape 문자: 키보드에 나타나 있지 않은 문자
      • 문자열 상수
        • 이중 인용부호(" ")로 묶여 있는 복수개의 영문자나 숫자
        • 기억공간에 보관될 때는 문자열 끝에 null 문자(\0)가 추가
          • 예를들어 문자열 "SEOUL KOREA"의 기억공간 보관 형태
  • 변수(variable)
    • 변수
      • 변할 수 있는 값
      • 프로그램에서 변수는 프로그램 실행 도중 변할 수 있는 값이 저장되는 기억공간을 의미
      • 예를들어 i=10은 i는 변수(명)이고, 10이란 값을 i라는 이름으로 정의된 기억공간에 저장한다는 의미
      • 이러한 변수 속에 들어가는 값은 수시로 변경될 수 있다.
      • 따라서 변수는 사용전에 반드시 선언하여 컴파일러가 기억공간에서 일정공간을 확보할 수 있도록 해야함
      • 변수의 특징
        • 모든 변수는 이름이 있다.(변수명)
        • 모든 변수는 정해진 자료형이 있다.
        • 모든 변수는 할당된 값을 갖는다.
        • 변수명의 정의 규칙
          • 모든 변수는 사용되기 전에 선언되어야 한다.
          • 변수명은 반드시 영문자나 밑줄(_)로 시작해야 한다.
          • 변수명은 중간에 숫자, 밑줄(_)을 섞어서 명명할 수 있다.
          • 변수명은 중간에 밑줄(_) 이외의 특수문자($, #, ?, ...)를 섞어서 명명할 수 없다.
          • 변수명은 대, 소문자를 구별하여 사용한다.
          • 변수명으로 예약어들은 사용할 수 없다.
  • 자료형과 변수 선언
    • 변수
      • 자료를 저장할 기억공간을 확보하고 이 공간에 이름을 붙여준 것
    • 변수 선언
      • 확보된 기억공간에 이름을 부여하는 것
    • 이러한 변수 선언을 위해 자료형이 필요
  • 자료형
    • 자료형의 종류
      • 기본형: 정수형, 실수형, 문자형, 열거형(enum), 형없음(void)
      • 확장형: 배열형, 함수형, 포인터형, 구조체형
  • 기본 자료형의 크기와 범위
    • 정수형
      • int 형, short 형, long 형, unsigned 형
      • 운영체제에 따라 표현범위가 다름
    • 실수형
      • float형, double형, long double형
      • 기본형은 double형
    • 문자형
      • char형, unsigned char형
      • ASCII 코드를 사용하여 처리
      • -128 ~ 127 까지의 값을 표현
  • 기본 자료형의 크기와 범위
    • 열거형
      • 숫자 대신 단어를 사용
      • 형식: enum 태그명 {열거자1, 열거자2, ...}
      • 열거형 변수 선언 예
  • 변수 선언
    • 변수명과 변수가 가질 자료형을 지정하여 변수를 위한 기억공간을 할당하는 것
    • 변수 선언 시 고려 사항
      • 변수에 저장될 값의 크기(범위)
      • 변수의 선언 위치
      • 변수의 초기화
      • 변수에 저장될 값의 크기(범위)
        • 변수에 저장될 값의 크기를 고려해야 정확한 답이 나옴
      • 변수의 선언 위치
        • 전역변수로 선언, 프로그램 어디서나 사용가능
        • 지역변수로 선언되면 해당함수 내에서만 사용이 가능
  • 기본 자료형의 크기와 범위
  • 선행처리기
    • 선행처리기(preprocessor)
      • 컴파일에 앞서 프로그램 선두에 선언된 지시자들을 미리 처리하는 역할을 수행
      • 주의할 점
        • 반드시 #으로 시작해야 한다.
        • 명령문 끝에는 세미콜론(;)을 붙이지 않는다.
        • 한 줄에 하나의 명령만 쓴다.
        • 소스 프로그램의 첫 부분에 위치한다.
      • 파일포함
        • #include
          • #include는 C언어에서 제공되는 헤더파일(*.h) 를 자신의 소스파일에 읽어들여 함게 컴파일 하고자 할 때 사용
          • C 프로그램에서 표준함수인 printf(), scanf()등을 사용하려면 이 함수들의 원형(prototype)이 선언되어 있는 표준 입출력 헤더파일인 stdio.h를 #include시켜야 함
        • 형식: #include <파일명>, #include "파일명"
        • 사용 예:#include <stdio.h>, #include "stdio.h", #include "\tc\lib\math.h"
        • 기능: #include 다음에 제시된 파일을 현재 프로그램에 포함시킨다.
          • <파일명>은 표준 디렉토리(보통 include 디렉토리)에서 파일을 찾아 포함
          • "파일명"은 현재 사용중인 디렉토리나 지정된 디렉토리에서 파일을 찾아 포함하며 또는 드라이브나 경로를 사용
      • 매크로 정의
        • #define
          • #define은 매크로를 정의할 때 사용
          • 매크로(macro)
      • 조건부 컴파일
        • #if, #else, #elif, #endif
          • 조건에 따라 프로그램을 컴파일하는 명령
          • 최적의 코드로 프로그램을 작성할 수 있기 때문에 시스템의 성능 향상
        • #if와 #elif 다음에는 컴파일 여부를 결정하는 조건문 필요
          • 조건문은 선행처리과정에서 진위 여부를 판단할 수 있어야 함
          • 변수 지정이나 함수 호출 불사
          • 주로 매크로 값이 사용
        • 조건부 컴파일의 사용 예 
#include <stdio.h>
#define CONDITION 1
void main() {
	#if CONDITION
    	printf("\n A 프로그램을 컴파일");
    # else 
    	printf("\n B 프로그램을 컴파일");
    # endif
}
// A 프로그램을 컴파일

'C' 카테고리의 다른 글

[C] 포인터와 배열  (0) 2021.04.27
[c] 포인터  (0) 2021.04.21
[C] 배열  (0) 2021.04.14
[C] 입.출력 함수와 연산자  (0) 2021.03.25
[C] C언어의 개요  (0) 2021.03.09
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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 29 30 31
글 보관함