[C Language] 자료형에 관하여

[C Language] 자료형에 관하여

자료형이란 무엇을 의미하는지 생각해보자

·

2 min read

int

  • 32비트 체계의 자료형이다. 대부분의 현대 컴퓨터에서 int는 32비트 크기를 가진다.

long long int

  • 64비트 체계의 자료형이다. long long int는 최소 64비트를 보장하며, 보다 큰 정수를 다룰 때 사용된다.

문자열

  • 문자열을 다룰 때에는 메모리를 고려하는 것이 기본이다.
  • 문자열이 끝날 때 끝에 NULL 문자가 붙는다 → NULL 문자 = '\0'
  • NULL 문자 자리도 계산하여 문자 크기를 고려해야 한다.
  • 예를 들어, 14글자를 저장하고 싶으면 크기를 15로 설정해야 한다.

부동소수점 자료형

float

  • 단정도 부동소수점 자료형이다.
  • 32비트 크기를 가진다.
  • 유효 자릿수: 소수점 이하 약 6자리이다.

double

  • 배정도 부동소수점 자료형이다.
  • 64비트 크기를 가진다.
  • 유효 자릿수: 소수점 이하 약 15자리이다.

long double

  • 확장 정밀도 부동소수점 자료형이다. 일부 컴파일러에서는 지원하지 않을 수 있다.
  • 크기는 컴파일러와 시스템에 따라 다르며, 일반적으로 80비트 또는 그 이상이다.

실수(수학적)에 대하여

  • 실수는 오차를 발생시킨다. 이는 근사 값으로 값을 처리하기 때문이다.
  • 따라서 float 형을 다룰 때에는 주의가 필요하다. 가능하면 double을 사용하는 것이 좋다.
  • double도 약 15자리까지만 정확하게 표현할 수 있다는 점을 유의해야 한다.

기본

  • 프로그램 코드는 문서라는 점을 잊지 말아야 한다.
  • 변수 및 함수의 이름 짓기가 중요하다.
  • 주석을 사용하는 것이 중요하다.
  • 들여쓰기를 일관되게 사용하는 것이 중요하다.
  • 이유는 나만의 개발이 아닌 모두의 개발을 위한 것이기 때문이다. 이는 문서적 특성과 인문학적 특성을 반영한 것이다.

Signed

  • 부호 비트가 존재한다.
  • 양수와 음수를 모두 표현할 수 있다.

Unsigned

  • 부호 비트가 없다.
  • 양수만을 표현할 수 있으며, 같은 비트 수에서 더 큰 양수를 표현할 수 있다.

변수

  • 정확히 알 수 없는 수, 변할 수 있는 수를 저장하는 공간이다.

자료형

  • 형식을 의미하며, 데이터를 어떤 방식으로 해석할 것인지를 정의한다.

변수를 이루는 세 가지 요소

  1. 자료형
  2. 이름
  3. 초기값

float

  • printf()에서는 %lf%f를 구분할 필요 없이 편하게 %f를 사용해도 무방하다. 이는 floatprintf에서 자동으로 double로 변환되기 때문이다.
  • scanf()에서는 명확하게 구분해야 한다. float을 입력받을 때는 %f를, double을 입력받을 때는 %lf를 사용해야 한다.

추가 설명

  • 형식 지정자 사용: printfscanf 함수를 사용할 때는 출력하거나 입력할 데이터의 형식에 맞는 형식 지정자를 사용하는 것이 중요하다. 예를 들어, 단일 문자를 출력할 때는 "%c"를 사용하고, 문자열을 출력할 때는 "%s"를 사용한다.
  • 메모리 관리: 문자열과 같이 메모리를 직접 관리해야 하는 경우, 메모리 누수나 버퍼 오버플로우 같은 문제를 방지하기 위해 주의가 필요하다. 자료형은 메모리에 값을 어떤 자료형으로 읽을지 표기해주는 것과 같다. 따라서 메모리 관리 측면에서도 중요하다가 생각할 수 있다.
  • 자료형의 범위: 각 자료형이 표현할 수 있는 값의 범위를 이해하고, 필요에 따라 적절한 자료형을 선택하는 것이 중요하다. 예를 들어, 매우 큰 정수를 다뤄야 할 때는 long long int를 사용하는 것이 적절하다.