카메라 개발자 공부방(SW)

[2장] 변수 본문

Langauge/C

[2장] 변수

luckmart 2021. 9. 21. 17:19
반응형

오늘은 변수와 상수에 대해 이야기하겠습니다.

모든 프로그래밍 언어는 데이터를 표현, 연산 과정 중간에 중간 결과를 임시로 저장,  연산된 결과를 저장하기 위해서 메모리 공간을 필요로 합니다.
그 메모리 공간을 C언어에선 '변수' 또는 '상수'라 합니다.

변수
1) 메모리 공간 이름 자체를 의미합니다.
2) 메모리 내부의 값이 변할 수 있습니다.

상수
1) 메모리 내부의 값이 변할 수 없는 값입니다.

다음 예제를 볼까요?

#include <stdio.h>

int main()
{
    int val = 5;

    printf("%d", val);
    return 0;
}

// 실행결과
// 5

 

val이란 이름의 메모리 공간을 만들고, 그 안에 5라는 값을 대입하였습니다.

(=은 val이라는 메모리 공간에 값을 저장하는 대입 연산자입니다.)

 

int형 메모리

 

연산된 결과를 그림 보면 val이란 이름의 메모리 공간이 4byte 만큼 할당되고, 5란 값이 저장되어있는 것을 확인할 수 있습니다. 

#include <stdio.h>

int main()
{
    int val = 5;
    printf("value: %d", val);
    return 0;
}

// 실행결과
// value: 5

변수를 사용하면 서식 문자를 활용해서 정수의 출력도 가능합니다. (%d는 출력의 형식을 지정합니다!)
문자열에서 %d에 해당되는 곳에 val이란 메모리 공간에 저장된 값이 출력이 될 것입니다. 

%d가 늘어날수록 인자가 늘어나는 것도 눈여겨보세요!

#include <stdio.h>

int main()
{
    int val = 5;
    printf("value: %d\n%d", val, val);
    return 0;
}

// 실행결과
// value: 5
// 5

당연히 %d, val 변수를 각 두 번 사용하면 2번씩 출력됩니다. 

#include <stdio.h>

int main()
{
    int val = 5;
    printf("value: %d\n%d", val, val);
    return 0;
}

// 실행결과
// value: 5
// 5

변수를 생성하는 시점에 값을 넣을 수도 있지만(초기화) 변수를 먼저 만든 후에 값을 넣을 수 있습니다.(대입)

#include <stdio.h>

int main()
{
    int val;
    val = 5;

    printf("value: %d", val);
    return 0;
}

// 실행결과
// value: 5

변수의 메모리를 이용해서 간단한 연산도 가능합니다.

#include <stdio.h>

int main()
{
    int val1 = 5;
    int val2 = 10;

    printf("value: %d", val1 + val2);
    return 0;
}

// 실행결과
// value: 15

char란 data type은 메모리 공간을 1byte 만 사용하고, 그 안에 문자를 저장하겠다고 약속이 되어있습니다.(data type 시간에 더 자세히 해보겠습니다.)

#include <stdio.h>

int main()
{
    char c = 'a';

    printf("%c", c);
    return 0;
}

// 실행결과
// a

char형 메모리

문자 하나를 저장할 땐 따옴표('')를 사용합니다.

 

자 오늘은 여기까지

'Langauge > C' 카테고리의 다른 글

[6장] 자료형(data type)  (0) 2021.09.25
[5장] 반복문  (0) 2021.09.24
[4장] 조건 제어문  (0) 2021.09.23
[3장] 연산자  (0) 2021.09.22
[1장] C언어 start  (0) 2021.09.20
Comments