자료형(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' // 문자형 리터럴 상수
'프로그래밍 공부 > C│C++│C#' 카테고리의 다른 글
[C언어] 복습노트 - 1 | C언어의 특징 (0) | 2025.03.30 |
---|---|
[C언어](코드실험) scanf 맨 뒤에 space로 끝내면? (1) | 2025.01.05 |
[C언어](오류) _CRT_SECURE_NO_WARNINGS (3) | 2025.01.05 |
[C언어] stdio.h? 헤더파일? 그게뭔데... (0) | 2024.12.27 |