C언어 변수의 선언과 자료형

컴퓨터/C

728x90
반응형

변수의 선언

변수는 간접적인 표현으로 변수의 이름은 동일하나 의미가 변하는 값이라고 했습니다. 

결국 변수는 컴퓨터의 하드웨어를 자원으로 사용하는 프로그램 안에서 데이터를 저장하는 한 공간 즉 메모리의 한 공간에 이름을 지어주고 그 공간을 이용하여 데이터를 자유롭게 변경할 수 있습니다.  

 

C언어에서 변수를 사용하려면 메모리 공간의 크기와 이름을 정해 변수를 사용하겠다 선언을 해줘야 합니다.

 

변수의 선언 방식과 형태

변수를 선언하면 메모리 공간 안에 공간이 할당되고 그 메모리 공간의 이름을 변수로 설정을 하는 것입니다.

메모리공간과 변수

메모리의 공간 안에 들어간 다른 자료형에 변수 2가지를 선언했습니다. C언어에서는 변수에 자료형을 주어 적절하게 선언해야 합니다.  '공간'을 지정하기 때문에 넣을 수 있는 데이터의 한계가 명확하게 있습니다. 

 

데이터의 자료형 

1Byte는 8자리의 2진수로 256개의 표현이 가능합니다. 숫자로는 0~255까지 표현이 가능합니다.

즉 1Byte 크기의 변수를 선언하여 사용하여 숫자의 정보를 쓰면 사용 범위는 256개의 숫자만 표현을 할 수 있습니다.

이런 변수의 공간을 할당하기 위해서 C언어에서는 기본 자료형을 제공해 줍니다. 그리고 사용자가 직접 만드는 사용자 정의 자료형이 있습니다. 본문에서는 기본자료형에 대해서 정리하도록 하겠습니다.

 

 

정수형 자료형

자료형의 명칭(keyword) 표현 범위 크기(Byte)
char(문자) -128 ~ 127 1
short -37,278~32,767 2
int -2,147,483,648~2,147,483,647 4
long long -9223,372,036,854,775,808
~
9,223,372,036,854,775,807
8
unsigned char 0~255 1
unsigned short 0~65535 2
unsigned int 0~4,294,967,295 4
unsigned long long 0~18,446,774,073,709,551,615 8

 

실수형 자료형 

자료형의 명칭(keyword) 표현 범위 크기(Byte)
float 8.4x10^-37 ~ 3.4x10^38 4
double 2.2x10^-308 ~ 1.8x10^308 8

 

기본자료형의 정수와 실수에 대한 키워드(자료형의 명칭)입니다. C언어 프로그래밍에 있어 데이터의 종류에 따라 즉 문자와 정수 그리고 실수를 이용하기 위해서 적절한 자료형을 선택하고 변수를 선언해야 됩니다.

 

char형의 경우에는 Character의 약자이며 정수를 담는 공간이지만 ASCII코드에 의해 문자로 변환됩니다.

음수를 표현하는 정수형 자료형에는 signed가 생략되어 잇습니다.

short과 long 자료형에는 int가 생략되어있습니다.

 

실습 - 변수 선언과 변경해보기

#include <stdio.h>

int main()
{
    //변수 4가지 타입의 변수 선언  (초기화를 동시에 함)
    char a = 'a'; // 문자를 넣을때는 ''로 감싸주어야 한다.
    char b = 65;  
    int c = 10;
    int d = -10;

    //출력 해보기
    printf("선언과 동시에 초기화 된 변수 출력\n");
    printf("변수 a : %c\n", a); // 변수 a의 값 출력
    printf("변수 b : %c\n", b); // 변수 b의 값 출력
    printf("변수 c : %d\n", c); // 변수 c의 값 출력
    printf("변수 d : %d\n", d); // 변수 d의 값 출력

    //변수의 값 변경해 보기
    a = 'b';
    b = 66;
    c = 100;
    d = -100;

    //변경된 변수 출력해보기
    printf("변경된 변수 출력\n");
    printf("변수 a : %c\n", a);
    printf("변수 b : %c\n", b);
    printf("변수 c : %d\n", c);
    printf("변수 d : %d\n", d);
    return 0;
}

printf에 대해서는 나중에 더 자세히 다루도록 하겠습니다. 본문에서는 변수의 선언과 변경을 해 출력해보기 위해 썼으니 한번 따라 해 보세요.

C언어는 절 자치 향적인 언어입니다. 프로그래밍 소스코드의 순서대로 진행이 됩니다. 이걸 풀어서 설명하면

  1. char형 변수 a선언 a값은 a 
  2. char형 변수 b선언 b값은 65 대입
  3. int형 변수 c선언 c값은 10 대입
  4. int형 변수 d선언 d값은 -10 대입
  5. 변수 a의 값을 출력 (화면에 표시됨 - a)
  6. 변수 b의 값을 출력 (화면에 표시됨 - 65)
  7. 변수 c의 값을 출력 (화면에 표시됨 - 10)
  8. 변수 d의 값을 출력 (화면에 표시됨 - -10)
  9. 변수 a의 (a에서 b로 바꿈) 
  10. 변수 b의 (65에서 66으로 바꿈) 
  11. 변수 c의 (10에서 100으로 바꿈) 
  12. 변수 d의 값은-100 (-10에서 100으로 바꿈) 
  13. 변수 a의 값을 출력 (화면에 표시됨 - b)
  14. 변수 b의 값을 출력 (화면에 표시됨 - 66)
  15. 변수 c의 값을 출력 (화면에 표시됨 - 100)
  16. 변수 d의 값을 출력 (화면에 표시됨 - -100)

소스코드를 간단하게 해석하자면 위와 같습니다. 그리고 결과는 아래와 같이 나오게 됩니다.

생각한 결과와 비슷하게 나왔습니다. 하지만 6번과 14번은 생각처럼 나오지 못했습니다 65와 66이 나와야 되는데 나왔습니다. 이게 char형 자료형의 특징이며 컴퓨터에서 문자를 표현하는 방법을 알면 이해할 수 있습니다.

다음 글에서 문자에 대해 좀 더 자세히 알아보도록 하겠습니다.

728x90
반응형

'컴퓨터 > C' 카테고리의 다른 글

C 언어 - 연산자  (0) 2021.05.24
C 언어 - 문자의 자료형  (0) 2021.05.23
C 언어 - 상수와 변수  (0) 2021.05.21
C 언어 - Hello World!  (0) 2021.05.20
C 언어 - IDE - Visual Studio설치  (0) 2021.05.17

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :