*데이터(정보)를 저장하는 공간,메모리
- 컴퓨터는 주기억 장치로 램(Ram, Random Access Memory)을 사용하기 때문에 보통 메모리라고 하면 램을 의미한다.
- 메모리는 1바이트(byte)단위로 주소가 매겨져 있다.
- 주소가 1바이트 단위로 부여돼 있다고 해서 데이터가 꼭 1바이트 단위로 저장되어야 하는것은 아니다.
- 메모리의 최소 저장 단위는 비트(bit)이다.
- bit -> 컴퓨터가 표현하는 데이터의 최소단위
0과1로 된 2진수
- 1bit -> 0,1
2bit -> 00 01 10 11 4가지
- 1비트가 증가할 때마다 저장 단위가 2의 배수만큼 늘어난다.
- 비트가 8개 모이면 새로운 단위를 사용하는데 이것을 바이트(byte)라고 한다.
- 데이터를 저장할 때 메모리를 절약하기 위해서 데이터의 유효범위를 예상하고 적합한 크기를 결정하는것은
메모리에 데이터를 저장하는데 필요한 가장 기본적인 작업이다.
#자료형
* 자료형은 왜 필요할까 ?
- 자신이 사용할 데이터에 크기에 맞게 메모리(저장공간)를 할당해서 사용해야 한다. 그래서 메모리를 사용할 때
몇 바이트의 메모를 사용할 것인지를 명시해야 하는데 이것을 데이터 타입(Data Type) 또는 자료형이라고 한다.
(메모리를 사용하는 단위를 자료형이라고 한다.)
- C언어는 사용빈도가 높은 자료형을 예약어로 제공(Built-in Data Type)하고 , 나머지는 사용자가 만들어서 사용할 수 있는
문법 (User-defind Data Type)을 제공한다.
#자료형의 종류
- 메모리공간 크기 확인 연산자(sizeof)
메모리의 크기를 바이트(byte)단위로 계산해서 반환하는 연산자
- sizeof(기본 자료형,내가 선언한 변수이름)
#int 변수 선언 및 초기화 (정수 4byte)
- 가장 기본이 되는 자료형
- C에서 가장빠르고 효율적으로 연산이 가능한 자료형이다.
- CPU에 따라서 크기는 달라진다.
16bit 2byte shrot
32bit 4byte
64bit 8byte
- 완벽한 8byte크기를 보려면 컴파일 성능,os,하드웨어
#float & double 변수 선언 및 초기화 (실수 4byte,8byte)
- 실수 0.000000 까지 표현한다.
- 정수보다 실수로 표현할 수 있는 방법이 더 많다.
int -> long int -> float -> double -> long double
#char 변수 선언 및 초기화 [문자 1개]
- char는 ASCII CODE에 존재하는 문자
- 표현할 수 있는 데이터
알파벳 , 정수 ,기호 등
#char[] 변수 선언 및 초기화 [공간갯수]
- 문자열을 입력하고 싶을 때는 char 1byte의 공간을 붙여서 사용
- 한글 = 2byte 영어 = 1byte를 차지한다.
- 문자열의 끝에는 문자가 끝났다는 null = \0이 자동적으로 붙는다.
Ex) "HELLO~" 문자열 메모리 공간 갯수
- 문자가 6개이므로 6바이트의 크기를 차지한다고 생각하겠지만 문자끝에 0이붙기 때문에 실제 메모리 구성은 다음과 같다.
↓ 실제 메모리 구성
- 공간의 갯수를 구하고 +1하여 출력하거나 그보다 높은값으로 출력한다.
#scanf()
- 키보드로부터 입력을 받기 위한 라이브러리 함수
- 키보드로부터 값을 받아서 변수에 저장한다.
- 변수의 주소를 필요로 한다.
scanf("%d",&x); 변수의 주소는 &x로 구할 수 있다.
- 형식 지정자와 변수의 자료형은 일치해야 한다.
scanf("%d %f",number, &grade); ← 형식 제어 문자열
#scanf 덧셈 프로그램
'C언어 > C언어' 카테고리의 다른 글
C언어 [반복문 while , do~while , for] (0) | 2017.10.24 |
---|---|
C언어 [형변환,조건문 if문,switch문] (0) | 2017.10.22 |
C언어 [변수와 상수,연산자] (0) | 2017.10.18 |
C언어 [특수,서식문자,아스키 코드] (0) | 2017.10.15 |
C언어 [C언어 소개] (0) | 2017.10.14 |