AI 시스템 반도체 SW/C 언어

[C 언어] 3-1 변수

psh010208 2026. 5. 30. 20:08

변수

  • 변수 선언을 통해 메모리에 저장 공간을 확보
  • 변수는 데이터의 종류에 따라 각각 다른 형태를 사용
  • 정수는 int, 실수는 double, 문자는 char, 문자열은 char 배열을 사용
  • l-value(left value): 저장 공간으로 사용하는 변수
  • r-value(right value): 값으로 사용하는 변수

 

정수 자료형

  • char: 1byte
  • short: 2byte
  • int: 4byte
  • long:4byte
  • long long: 8byte

Q: int와 long은 크기가 동일하네?

A: 보통 컴파일러에서 int형은 4byte이지만 가끔 2byte로 구현된 컴파일러가 있어서 더 큰 값을 저장하기 위해 long형을 사용.

int형과 long형의 크기를 동일하게 인식하는 컴파일러를 사용한다면 long형을 쓸 필요가 없음.

 

unsigned 정수 자료형

  • 음수가 필요 없는 데이터를 저장할 때 사용
  • 맨 앞 비트를 부호비트로 사용하지 않음
  • %u로 출력

 

실수 자료형

  •  float: 4byte (유효 숫자 7자리)
  • double: 8byte (유효 숫자 15자리)
  • long double 8byte 이상 (유효 숫자 15자리 이상)
  • 실수형은 유효 숫자가 많은 double형을 기본으로 사용

 

문자열 저장

  • 컴파일러가 문자열의 끝에 \0(널 문자)를 자동으로 추가하기에 문자열의 길이보다 배열의 크기를 하나 더 크게 잡아야 함
  • %s로 출력
  • char 배열에 새로운 문자열을 저장할 때는 strcpy 함수를 사용해야 함 (#include <string.h>)

 

const를 사용한 변수

  •  const를 사용하면 값을 바꿀 수 없기에 선언과 동시에 초기화해주어야 함
  • 초기화하지 않으면 변수의 쓰레기 값이 계속 사용됨
  • 초기화 이후에 값을 바꾸고자 하면 에러가 발생