-
[C언어] 2-1. 변수와 자료형프로그래밍/C 2014. 3. 28. 02:05반응형
1. 변수형과 자료형
* 변수
- 값을 저장하는 메모리(RAM)공간 으로 변경되는 값들이 저장된다.
- 값을 저장하기 위해 메모리 공간을 확보해두는 것이 변수
- 변수 안에 들어가는 값을 상수, 메모리는 역속된 byte의 모임으로 메모리에 접근할 때는 1byte 단위로 접근
* 자료형
- 변수에 메모리 공간을 얼마만큼의 크기로 잡아야 하는지 정하기 위해 변수의 자료형 (type)이 필요
- 저장할 값의 종류에 따라 값이 달라짐
- 문자형 변수는 1byte, 정수는 4byte 크기를 갖는다.
1) 변수가 사용할 수 있는 기본 자료형
구분
자료형
정수형
int, short, long, unsigned
실수형
float, double
문자형
char, unsigned char
열거형
enum
void형
void
확장형
배열형, 함수형, 포인터형, 구조체형
2) 자료형의 범위 (유효값은 생략하였다)
- unsigned 형의 경우 음수를 표현하지 않기 때문에 음수표현 범위만큼의 크기를 양수로 표현 가능분류
자료형
byte 크기
문자형
char
1
unsigned char
1
정수형
short
2
unsigned short
2
int
4
unsigned
4
long
4
unsigned long
4
실수형
float
4
double
8
long double
8
* 변수의 선언 방법
1) 형식
데이터형 변수명;
데이터형 변수명1, 변수명2, ...'
2) 선언의 예
char code; -> 문자형 변수 code
int num, age; -> 변수형 변수
float weight; -> 실수형 변수
double height; -> 실수형(배정도) 변수
- 같은 종류의 변수를 여러 개 선언할 경우 ,로 구분을 하여 단축표현 가능
- 다른 문장일 경우 반드시 ;으로 구분해야한다.
2. 변수의 이름 정의 규칙과 사용
* 변수명 생성 규칙
- 모든 변수는 반드시 사용되기 전에 정의되어야한다.
- 영문자, 숫자, 밑줄(_)만 사용하되 첫글자는 반드시 영문자나 밑줄(_)을 사용해야한다.
- 숫자로 시작하면 안된다.
- 변수명은 대문자와 소문자를 구별하여 사용 (SUM, sum, SUm 모두 다른 변수로 인식)
- 변수명에 공백을 포함시켜 사용할 수 없다.
- 변수명으로 예약어을 사용할 수 없다.
자료형 관련
char, short, int, float, long, double, unsigned 등
제어문 관련
if~else, switch~case, for, while, do~while, continue, break, goto 등
기억클래스 관련
auto, static, extern, register
기타 예약어
return, main, sizeof, include 등
* 변수명의 사용 예
1) 변수에 값 대입과 초기화
- 변수에 값을 대입하려면 대입연산자라 부르는 기호 = 를 사용한다, 왼편에는 변수명, 오른편에는 대입할 값을 기입.
- 변수 저장되는 값은 변수의 데이터형과 같은 형이어야한다.
- 변수의 값은 여러변 변경 가능
- 변수를 초기화 하지 않으면 쓰레기값이라는 노이즈 값으로 채워지는데 이를 방지하기위해 변수를 초기화하고 사용하는 것이 좋다.
* 정리후기
- 확실히 이 책은 이론적인 부분이 많다. C언어책중에서는 C언어본색만큼 괜찮은 책이 없는것같다. 이론과 예제를 모두 다 잡은 책인것같은데 이 책의 경우 아무래도 시험용이다보니 이론이 많다. 뒷장에는 예제가 많은것같던데 확실히 코딩할 부분보다는 소스를 보고 결과를 예상하는 것에 중점적으로 맞추어져잇는듯하다. 최대한 빠르게 진도를 빼야겠다. 목표는 2~3주. 자바스크립트 까지 겹쳐 좀 난감하기는 하지만 복습하는거라 부담은 좀 덜한것같다.
반응형'프로그래밍 > C' 카테고리의 다른 글
[C언어] 2-3. 선행처리기 (0) 2014.04.02 [C언어] 2-2. 상수 (0) 2014.04.02 [C언어] 1-4. Visual Studio 2013 드림스파크를 통해 사용하기 (0) 2014.03.28 [C언어] 1-3. C프로그램의 구성 (0) 2014.03.28 [C언어] 1-2. C프로그램의 작성 및 준비 (0) 2014.03.27