반응형

변수와 자료형

 

 

프로그래밍에서의 변수 수학에서의 변수 개념과는 약간 다르다.

 

수학에서의 변수 수식에 따라 변하는 값을 의미하는 것이지만

 

프로그래밍에서의 변수 프로그램 실행 도중에 변경될 수 있는 값이다.

 

일반적으로 데이터의 저장 위치와 저장되는 값과 관련되어 있다.

 

-

 

변수의 이름 데이터가 저장된 곳을 가리킨다.

 

대부분 해당 변수 어떤 값을 저장하고 어느 부분에서 쓰여야 하는지

 

이해하기 쉽게 이름을 짓는 경우가 많다.

 

사람 변수의 이름 사람이 봤을 때 읽기 쉽게 이름을 짓지만,

 

소스 코드 컴파일될 때 데이터의 실제 위치로 치환되게 된다.

 

-

 

변수의 크기는 데이터를 저장하는 공간의 크기를 말하는 것이다.

 

이는 어떤 자료형으로 변수를 선언하느냐에 따라 변수의 크기가 달라진다.

 

아래의 사진은 C언어에서 사용하고 있는 기본 자료형들이 어느 정도 크기를 갖는지 출력해주는 코드이다.

 

-

 

test.c
0.00MB

 

 

 

 

 

-

 

위 사진은 위에서부터 순서대로 소스코드와 

 

컴파일 과정을 거친 후 실행 권한을 주고 실행 파일을 실행한 것이다.

 

-

 

※ size_t 자료형 데이터의 출력 ※

 

 

C언어에서 sizeof 연산자 자료형, 변수, 배열 등이 차지하는 메모리의 크기를 계산하기 위해서 사용되는 연산자이다.

 

sizeof 연산 결과 리턴되는 자료형 size_t형이다.

 

즉, size_t 자료형들 중 하나이다.

 

size_t형 32bit 운영체제에서는 4byte로 정의되었지만,

 

64bit 운영체제에서는 8byte로 정의되는 것이 일반적이다.

 

 

C언어 표준에서는 운영체제에 상관없이 printf() 함수에서 size_t 자료형을 출력하기 위해서 

 

z라는 접두어를 사용할 수 있도록 정의했지만

 

윈도우의 Visual Studio를 포함하여 몇몇 컴파일러에서는 아직 이를 지원하지 않을 수 있으므로

 

모든 글에서 32bit 64bit 그리고 윈도우 리눅스 등의 운영체제 상관없이 예제 프로그램들을

 

경고 없이 컴파일하고 같은 결과를 출력할 수 있도록 size_t의 자료형을 unsigned long으로 변환하여

 

형식문자 %lu를 사용하여 size_t를 출력하도록 한다.

 

그리고 일부를 제외하곤 모든 실행 파일의 실행 결과는 64bit mac os에서 컴파일되어 실행된 결과가 첨부된다.

 

-

 

자료형 데이터를 담는 그릇에 비유할 수 있기 때문에

 

변수를 선언할 때 적절한 자료형을 선택하는 것은 매우 중요하다.

 

자료형에 따라 저장할 수 있는 데이터의 범위와 종류가 달라진다.

 

-

 

 

-

 

컴파일러의 종류 또는 OS 등에 따라 자료형의 데이터 크기가 변경될 수 있다.

 

이는 자료형의 크기 처리계(컴파일러의 종류 또는 OS)마다 

 

독자적으로 정의하는 것이 C언어 표준에서 허용되었기 때문이다.

 

이러한 C언어의 특징 때문에 OS 변화에 따른 버그 또는 에러가 발생할 가능성이 있어서

 

C언어 표준 1990년대 후반에 개정되어

 

1999년 ISO/IEC 9899:1999(C99)가 출간되었고,

 

C99에서는 bit 길이 고유하게 정의한 데이터 형식을 추가하여 헤더파일 <stdint.h>를 정의했다.

반응형

'시작하지 말았어야 했던 것 > C언어 기본 문법' 카테고리의 다른 글

5. 연산자(3)  (0) 2021.02.01
4. 연산자(2)  (0) 2021.02.01
3. 연산자  (0) 2021.02.01
2. 변수와 자료형(2)  (0) 2021.02.01
0. OT  (0) 2021.02.01

+ Recent posts