C언어 공부

C언어 기초 - 1. 변수의 개념

Client Side 2025. 8. 12. 23:26

- 변수의 특징

 

1. 변수는 선언(정의)되어야만 변수 사용이 가능하다.

2. 변수는 값을 담을 수 있는 공간이다.

3. 변수를 선언하기 위해서는 변수명 앞에 데이터 타입을 명시해줘야 한다.

4. 변수는 중복해서 선언할 수 없다.

5. 변수를 재활용하는 것은 가능하다.

6. 변수에는 오직 값을 하나만 저장 가능하다.

7. 변수를 재활용하는 경우에는 기존 값은 사라지고, 새로운 값이 변수 공간을 차지한다.


int (interger) : 10진수 정수

 

int x 로 변수를 선언하고 그 뒤에 x = 20 이렇게 값을 넣는것도 가능하다.

#include <stdio.h>
int main() 
{
a = 20;
return 0;
}

 

- 변수 초기화

int a = 20 

이렇게 변수를 선언함과 동시에 값을 넣어준 것 

 

;은 문장의 끝을 말한다.

// 는 주석

 

int a = 20;

printf(a); 는 값이 출력이 되지 않는다. 

값을 표현하려면 값을 담을 수 있는 그릇이 필요하다.

여기서는 int a라는 변수를 만든거고 거기다가 20이라는 값을 대입하겠다는 의미로 해석해야 한다.

a라는 공간에 20이라는 값이 들어오게 된다.

그런데 printf(a)는 왜 출력이 안될까   ->  겂을 표현하기 위한 그릇이 필요하다.   - 그릇 : 서식지정자

 

정수 값을 표현할 때는 %d 라는 서식지정자를 사용한다. 그런데 단독적으로 쓰면 안되고 "%d" 큰따옴표로 감싸고 쉼표를 붙여줘야 한다.

 

int a = 20;
printf("%d",a);

 

큰따옴표""는 문장을 출력할 때 사용한다.

20이라는 값이 %d에 들어가게 된다.

 

#include <stdio.h>

int main()
{
int a;
    a=20;
    printf("%d",a);

    return 0;
}

이렇게 실행하면 20이라는 값이 출력된다.

 

printf에서 f는 format의 약자이다. 큰 따옴표 안에서 우리가 포맷을 꾸밀 수 있다.

 

printf("a : %d",a) 라고 쓰면 

a : 20 으로 값이 실행된다.

 

#include <stdio.h>

int main()
{
    int a=20;
    printf("a : %d",a);

    int a = 30;
    printf("a : %d",a);
    return 0;
}

 

이렇게 하면 값이 출력이 될까?  되지 않는다.  C언어에서는 중복해서 선언하는 것이 불가능하다.

 

#include <stdio.h>

int main()
{
    int a=20;
    printf("a : %d\n",a);

    a = 30;
    printf("a : %d",a);
    return 0;
}

 

이렇게는 가능하다. 이건 다시 선언한게 아니라 a를 재활용한 것이다.

 

출력값

a : 20
a : 30

 

코드는 무조건 위에서 아래로 순차적으로 실행된다.

 

 "" 안에 \n를 넣으면 줄바꿈

 

#include <stdio.h>

int main()
{
    int a=20;
    printf("a : %d\n",a);

    a = 30;
    printf("a : %d\n",a);

    a = a+20;
    printf("a : %d\n",a);
    
    return 0;
}

 

출력값

a : 20
a : 30
a : 50

 

처음에 연습할 때는 상관 없지만 나중에 갈수록 변수명을 그 역할에 맞게 지으려고 해야한다.

 

#include <stdio.h>

int main()
{
    int age = 20;
    printf("저는 %d살 홍길동입니다.\n",age);
    printf("저는 %d살 홍길동입니다.\n",age);
    printf("저는 %d살 홍길동입니다.\n",age);
    
    return 0;
}

 

변수는 이렇게 활용이 가능하다.  변하는 값에 변수를 넣어 값 변경에 용이하게 활용한다.

 

 

※문제 : a는 40, b는 20이 나오도록 변수 a와 b의 값을 교체하시오. (숫자, 사칙연산 사용불가)

#include <stdio.h>

int main(void)
{
    int a = 20;
    int b = 40;

    printf("%d\n",a);
    printf("%d\n",b);
    return 0;
}

 

정답

#include <stdio.h>

int main(void)
{
    int a = 20;
    int b = 40;

    int c = a;
    a = b;
    b = c;
    
    printf("a = %d\n",a);
    printf("b = %d\n",b);
    return 0;
}
변수스왑. 변수와 변수를 이용해서 값을 교체하는 것.