[C언어] 복습노트 - 2 | 자료형과 변수, 상수

반응형

자료형(data type)

: 값의 종류, 데이터 표현 방식

자료형 type size
정수형 int (integer) 4 byte 3,  5,  -12,  ...
long 4 byte 3L,  5L,  ...
longlong 8 byte 3LL,  5LL,  ...
실수형 float (floating point) 4 byte 3.12F,  2.12F,  ...
double 8 byte 4.5,  -12.53,  ....
문자형 char (character) 1 byte 'a',  'A',  ....

** byte : 데이터를 표현하는 최소단위


변수

: 어떤 값을 저장하기 위한 저장공간, 저장한 값을 재사용하기 위해 사용

1) 변수의 선언

: 저장공간을 만드는 것


선언방법 => 자료형 변수명;

void main(){

	int a;
	char b;
	double c;
}


자료형 : 변수(저장공간)에 들어올 수 있는 값을 제한한다.
변수명 : 저장공간의 이름, 개발자 마음대로 작성한다.
ex) int a; => a라는 이름의 창고를 만들건데 여기에는 int 타입의 값만 넣을 수 있어.

 


변수에 값을 저장하는 방법

(1) 변수명 = 값;
=(대입 연산자) : 우측의 값을, 좌측의 저장공간에 넣는다.
ex) a = 10; // a라는 변수에 10을 저장
** 저장공간이 먼저 존재해야됨. => 변수선언을 먼저

void main(){
	int a;
	a = 10;
}



(2) 변수를 선언과 동시에 초기화(처음으로 값을 저장)
자료형 변수명 = 값;
ex) int a = 3; // a라는 int 타입의 변수를 만들어서 3을 저장한다.

void main(){
	int a = 3;
}

 

 

2) 변수의 특징

- 변수는 오직 하나의 자료형(data type)만 저장할 수 있다.
- 변수는 오직 하나의 값만 저장할 수 있다.
=> 변수란 하나의 자료형과 하나의 값만 저장할 수 있는 저장공간이다.

3) 변수 선언시 주의사항

- 같은 영역(중괄호)에서 같은 이름의 변수를 선언할 수 없다.

 

↓ ↓ ↓ ↓ 권장사항 ↓ ↓ ↓ ↓

- 되도록 소스코드 위쪽에 한번에 선언한다.
- 되도록 선언과 동시에 초기화를 한다.

4) 변수명 사용규칙

(1) 띄어쓰기 사용 불가
int my age = 20; (x)
int myage = 20; (o) -> 사용은 가능하나 가독성이 떨어짐


int my_age = 20; (o) -> 스네이크 표기법
int myAge = 20; (o) -> 카멜 표기법
int MyAge = 20; (o) -> 파스칼 표기법

(2) 특수문자 사용 불가 (단, _는 사용 가능)
int @#$ = 20; (x)

(3) 숫자로 시작 불가
int 1num = 10; (x)


int n1um = 10; (o)
int num1 = 10; (o)

(4) 키워드(예약어)는 사용 불가
각자의 역할이 있기 때문에 변수명으로 사용 불가
ex) for, struct, if,...

 

↓ ↓ ↓ ↓ 권장사항 ↓ ↓ ↓ ↓
(5) 웬만하면 의미있는 단어를 사용하자
숫자를 저장하는 변수 : number, num,..
나이를 저장하는 변수 : age, myAge,...

(6) 웬만하면 소문자로 시작




상수

1) 심볼릭 상수(sumbolic constant)

- 변수와 같은 저장공간이다.
- 변수와 차이점은 한번 저장한 값을 변경할 수 없다.
- 심볼릭 상수명은 대문자와 _(언더바)로 만들어준다.
- 심볼릭 상수 선언방법
const 자료형 상수명 = 값;

void main(){
	const double PI = 3.14;
}



2) 매크로 상수(Macro constant)

- 심볼릭 상수와 마찬가지로 이름이 있는 상수
- 일반적으로 프로그램의 맨 윗부분에 작성한다.
- 매크로 상수 선언 방법
# define 상수명 값
=> 대입 연산자와 세이콜론(;)을 작성하지 않아도됨

#define ONE 1

void main(){
}



3) 리터럴 상수(Literal Const)

- 저장공간 x
값 그 자체를 의미한다. (literally -> 말 그대로)
- 값은 의미가 변하지 않는다.
- 1은 영원히 1이다.
ex)
123 // 정수형 리터럴 상수
3.14 // 실수형 리터럴 상수
'a' // 문자형 리터럴 상수

반응형