변수 : 단 하나의 값을 저장할 수 있는 메모리 공간
변수를 사용하기 위해서는 우선 선언을 해 주어야 한다. ex) int age;
변수를 초기화하기 전에는 쓰레기값이 저장되어 있다.
Why? 메모리를 지우지 않고 계속 덮어 쓰기 때문에 다른 프로그램에 의한 쓰레기값이 남아 있는 것.
변수의 초기화 : ex) int age = 25;
* 예전 컴파일러에서는 선언문과 초기화를 섞어 쓰면 에러가 나기도 한다.
int age;
age = 25;
int grade;
//에러발생
int age;
int grade;
age = 25;
//OK
|
|
변수의 값 교환하기
x와 y의 값을 바꿔보자.
int x=10;
int y=20;
int temp;
temp = x; //temp = 10;
x = y; //x = 20;
y = temp; //y = 10;
자료형
자료형(data type)에 따라 값이 저장될 공간의 크기/형식이 다르다.
즉, 자료형이 제공하는 정보는
변수가 차지하는 저장공간의 크기
변수의 저장형식(저장방법 + 해석방법)
저장공간을 효율적으로 사용하기 위해서는 맞는 크기의 타입을 이용해야 한다.
자료형의 종류
자료형은 기본형 / 파생형으로 나눌 수 있다.
기본형(basic type) | |
---|---|
문자형 | char |
정수형 | short, int, long, long long |
실수형 | float, double, long double |
파생형(derived type) | |
---|---|
배열(array) | 같은 타입, 여러 변수 |
구조체(structure) | 다른 타입, 여러 변수 |
공용체(union) | 다른 타입, 여러 변수, 하나의 저장공간 공유 |
포인터(pointer) | 메모리 주소 저장 |
함수(function) | 함수 |
기본형
문자형 - char
문자 하나를 저장
C에는 String이 없다 → char[] 이용
빈칸 문자 저장 가능(단, 띄워서 써야 함)
char ch = 'A';
char str[] = "ABC";
char ch2 = 65; //아스키코드 65 == 문자 A
char blankError = ''; //Error
char blank = ' '; //OK.
정수형 - short, int, long, long long
값의 범위 : short < int < long < long long
자료형별 표현 가능한 값:
자료형 크기(bit) 크기(byte) 값의 범위 char 8 1 -27 ~ 27-1 short 16 2 -215 ~ 215-1 int 32 4 -231 ~ 231-1 long 32 4 -231 ~ 231-1 long long 64 8 -263 ~ 263-1 자료형별로 저장가능한 값의 범위:
n비트로 표현 할 수 있는 정수의 개수: 2n개
부호있는 n비트 정수의 표현범위 : -2n-1 ~ 2n-1 -1
unsigned: "부호 없는 정수타입"
값을 저장할 수 있는 크기는 같으나, 양의 정수만 저장하기 때문에 부호 있는 정수보다 양수의 범위가 2배 더 넓다.
int가 -100~ 99까지 저장한다면, unsigned int는 0~200까지 저장하는 것.
정수형+char에 사용 가능. 실수형에는 사용 불가
ex) unsigned int i = 100;
실수형 - float, double, long double
실수를 저장하기 위한 타입
정밀도: n째 자리까지를 오차 없이 표현할 수 있다는 뜻. float의 정밀도가 7자리다? == 10진수로 7자리까지 오차없이 저장할 수 있다는 말.
타입 정밀도 크기(byte) float 7자리 4 byte double 15자리 8 byte long double 15자리 8 byte
* 실수형의 범위는 정수형처럼 -2n-1 ~ 2n-1 -1 이 아니다!!
'Study > C,C++' 카테고리의 다른 글
3.1 연산자 (0) | 2018.07.19 |
---|---|
2.3 진법 , 기본형 (0) | 2018.07.19 |
2.2 sizeof, 화면입출력, 상수, 리터럴 (0) | 2018.07.16 |
2. Hello, World! (0) | 2016.12.20 |
1. 기초부터 (1) | 2016.12.20 |