본문 바로가기

C언어_VisualStudio

#7 C의 자료형(Data Type) 정리

  오늘은 C에서 사용하는 자료형을 정리해보려 한다. :-) 처음에는 찾아보면서 사용하지만 하다 보면 안 찾아보고 쓰는 날도 오겠지...?

 

자료형(Data Type)

  C에서는 다양한 자료형을 제공하고 있다. 변수에 저장할 정보의 형태에 맞게 자료형을 선택해야 한다. 자료형은 다음과 같다.

 

정수형

  • char (1Byte / -128 ~ +127)
  • short (2Byte / -32,768 ~ +32,767)
  • int (4Byte / -2,147,483,648 ~ +2,147,483,647)

실수형

  • float (4Byte / 3.4×10^(-37) ~ 3.4×10^(38))
  • double (8Byte / 1.7×10^(-307) ~ 1.7×10^(308))

 

  실수형 변수를 선언할 때는 자료형 변수이름=초기화값; 으로 하면 된다. 실수형의 자료형은 double을 쓰면 된다.

    double f = 0.0;

  main함수에서 사용해보면 아래와 같다. 

#include <stdio.h>
int main(void) {
    double f = 0.0;
    f = 1.2;
    f = 3.41415;
    f = 2.4 + 8.3;
    return 0;
}

 

  실수형 변수를 선언하고 출력해보자. 출력할 때, 실수형의 형식 지정자는 %f나 %lf를 사용하면 된다. 

#include <stdio.h>
int main(void) {
    double f = 0.0;
    f = 1.2;
    printf("f=%f\n", f);
    return 0;
}

  기본적으로 소수점 아래 6자리까지 출력이 된다. 소수점 아래 원하는 자리까지 출력하려면 자료형 앞에 원하는 자릿수를 표현해주면 된다. 

//표현방식1
    printf("PI=%0.2f\n", PI);
//표현방식2
    printf("PI=%.4f\n", PI);

  출력해보면 다음과 같다.

 

  컴퓨터에서는 문자도 숫자로 표현한다. 특정 숫자를 특정 문자에 연결을 지었는데, 예를 들면 문자 A는 숫자 65로 표현한다. 그래서 이러한 연결에 대한 표준이 없다면 매우 혼란스러울 것이다. 그래서 정해진 게 미국 표준협회에서 정한 아스키코드(ASCII : American Standard Code for Information Interchange)이다. 

 

아스키코드는 다음과 같다. 

(https://www.overcoded.net/ascii-table-512119/)

 

  문자형 변수를 선언하고 A로 초기화해보고 출력해보자.

  문자형 변수 선언, 초기화) 문자형의 자료형은 char이다. 문자의 경우 작은따옴표('') 안에 써주어야 한다.

    char ch = 'A';

  출력을 해보자. 문자형의 형식 지정자는 %c를 사용한다.

    printf("ch = %c\n", ch);

  합쳐서 main함수에 쓰면 다음과 같다.

#include <stdio.h>
int main(void) {
    char ch = 'A';
    printf("ch = %c\n", ch);
    return 0;
}

 

  컴퓨터에서는 문자도 숫자로 표현된다고 했다. 그러면 문자가 숫자로 처리되고, 문자 대신 숫자를 써도 될까?

문자형의 형식 지정자는 %c, 정수형의 형식 지정자는 %d인 것을 이용하여 해 보자.

#include <stdio.h>
int main(void) {
    char ch = 'A';
    printf("ch = %c, ch = %d\n", ch, ch); // 문자형: %c, 정수형: %d
    ch = 65; // ch에 정수 65를 저장한다.
    printf("ch = %c, ch = %d\n", ch, ch); // 문자형: %c, 정수형: %d
    return 0;
}

 

  출력 함수에서 형식 지정자는 다음과 같다.

  • char : %c
  • int : %d
  • float, double : %f

다음과 같이 표로 정리해봤다.