C 자료형

(2020-01-13)

C 언어 자료형, 자료형, size_t, sizeof, typedef

1. [C 언어]  자료형의 구분기본 자료형 (기본형) : 숫자
      - 정수형 :  char (signed char), int (signed int)
         . 변형 키워드 : 부호 (signed, unsigned), 크기 (short, long) 로써, 변형 가능
            .. short (short int)
            .. unsigned (unsigned int), unsigned short (unsigned short int)
            .. long (long int), unsigned long int
            .. short char, unsigned char
         . 한편, size_t 는, 
            .. unsigned int와 같은 자료형이나, 운영체제 마다 크기가 다르게 정의되도록 함
      - 실수형 :  float, double, long double

  ㅇ 기본 자료형 (기본형) : 문자 및 문자열
      - 문자형 :  char, signed char, unsigned char
      - 문자열 :  char 배열

  ※ [참고]
     - C99에서 추가된 기본 자료형 (기본형)
        . 논리값형 : _Bool
        . 큰 값 정수형 : signed long long int, unsigned long long int
     - 논리값형,문자형,정수형 모두, 정수 값 계산을 위한 수식에 사용 가능 

  ㅇ 파생 자료형 (유도형) : 배열, 포인터, 구조체, 공용체 등
      - 배열 ([ ])
      - 포인터형 (*)
      - void형 (void *) : 어떤 자료형이라도 가리킬 수 있는 포인터
         . 즉, 형태가 없는 자료형
      - 열거형 (enum)
         . 한 무리의 정수형 기호 상수(열거된 상수)들을 설정키 위함
      - 확장형 
         . 구조체 (struct)
         . 공용체 (union)


2. [C 언어]  자료형키워드기본 키워드 : char, int, float, double, void
     - char  : 문자 위주 이지만 숫자도 취급 (통상 1 바이트)
     - int   : 정수 (1 워드 단위로써 통상 4 바이트, 고정소수점 방식)
     - float, double, long double : 실수 (부동소수점 방식)
        . float (통상 4 바이트), double (통상 8 바이트), long double (통상 8~16 바이트)

  ㅇ 변형 키워드 : short, long, unsigned, signed
     - 부호 변형 : (signed, unsigned)
     - 크기 변형 : (short, long) 
     - 한편, 
        . signed 는, 디폴트 (양수,음수 모두 가능) 이나,
           .. 그 의미를 더욱 분명히 하기 위해 자주 사용됨
        . 변형 키워드 뒤 int 은, 생략 가능
           .. 例) short int (또는 줄여서, short), long int (또는 줄여서, long) 등
     - 결국, 
        . short = short int = signed short = signed short int 들은, 모두 동일 자료형 임
        . long = long int = signed long = signed long int 들은, 모두 동일 자료형 임

  ㅇ 例) 자료형 선언 및 초기화
     - unsigned short a;  (변수 a를 자료형 unsigned short 선언함)
     - unsigned short a = 32799; (변수 a를 자료형 unsigned short 선언, 상수 32799 초기화)

  ㅇ 한편, C 언어는, 별도로 논리값 자료형이 없음
     - true,false 논리값 자료형 없이 그냥 정수값으로 표현
        . 즉, 0 은 false로 판단, 0 이외는 true로 판단
     - 단, C99 버전에서 비로소  _Bool 형이 추가됨


3. [C 언어]  자료형의 크기 (메모리 상의 크기)

  ㅇ 이론적 자료형 최소허용 크기
     - char   (1 바이트) : -128 ~ +127
     - short  (2 바이트) : -32767 ~ +32767
        . 통상, 16 비트
     - int    (4 바이트) : -32767 ~ +32767
        . 통상, 컴퓨터 워드 크기에 따라, 16 비트(2 바이트),64 비트(8 바이트)로도 설정 가능
     - long   (4 바이트) : -2147483647 ~ +2147483647
        . 통상, 32 비트
     - float  (4 바이트) : 3.4*10-38 ~ 3.4*1038
     - double (8 바이트) : 1.7*10-308 ~ 1.7*10308
     - long double (8,12~16 바이트) : 1.2*10-4932 ~ 1.2*104932기본 자료형의 메모리 크기 확인 연산자 : sizeof
     - 例) sizeof(변수명); 또는 sizeof 변수명; // 임의 변수명의 크기
     - 例) sizeof(int);                        // 특정 자료형의 크기
     - 例) sizeof(배열명)/sizeof(배열 자료형); // 배열 크기
     - 例) sizeof(struct 구조체명);            // 구조체 크기


4. [C 언어]  자료형의 별칭 만들기 : typedef

  ㅇ typdef를 사용하면, 실제 타입 명칭 대신에 별칭을 만들고, 사용할 수 있음
     - 즉, 이미 정의된 내장 자료형이나 사용자 정의 자료형 보다 `더 짧거나 의미 있는 이름` 가능

  ㅇ 선언 형식 : typedef 키워드를 사용하고, 자료형 다음에, 별칭을 사용하면 됨
     - typedef 자료형 별칭;  // 기본 자료형의 별칭
        . 例) typrdef double salary;
     - typedef 자료형* 별칭; // 포인터 자료형의 별칭인 경우 임

  ※ [참고] ☞ C 언어 구조체 참조


[C 변수,자료형] 1. C 변수 2. C 자료형 3. C 형변환 4. 기억 클래스
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램, 프로그래밍
      1.   프로그래밍 언어론
      2.   프로그래밍 방법론
      3.   객체지향 프로그래밍
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
            1. 프로그래밍 언어
        1.   C
              1. C 언어
              2. C 기초 문법
              3. C 연산자
          1.   C 언어 컴파일
          2.   C 변수,자료형
            1.   1. C 변수
                2. C 자료형
                3. C 형변환
                4. 기억 클래스
          3.   C 상수,문자,문자열
          4.   C 함수
          5.   배열,포인터
          6.   구조체,공용체
        2.   C++
        3.   자바(Java)
        4.   자바스크립트
        5.   PHP
        6.   파이썬
        7.   (기타 언어)
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌