CS/C

[2021W C프로그래밍과 실습] 데이터 입력과 자료형 수정자

아이스얼그레이 2022. 2. 9. 22:13

메모리 관리

· 메모리는 Byte 단위로 주소가 부여된다.

· 변수를 선언하면 데이터 타입에 해당하는 크기의 메모리를 할당받는다.

· 메모리는 메모리 주소를 통해 관리되고, OS가 제어한다.

주소 연산자

· 모든 변수는 메모리 주소에 의해 구분되어 저장된다.

· 주소연산자(&)

- 변수가 메모리의 어느 주소에 할당 받았는지 확인하기 위해 사용(메모리의 몇 번지에 변수가 저장되었는지?!)

ch, num. area가 각각 1byte, 4byte, 8byte를 할당받은 것을 볼 수 있다.

- &변수명 형식으로 쓰며 연산자 뒤에 오는 변수의 할당된 메모리 시작번지를 반환한다.

- 메모리 주소는 프로그램 실행시 마다, IDE마다 다르다.

데이터 입력

· scanf() 함수

- 실행 중에 키보드로부터 데이터를 입력하는 기능을 수행한다.

scanf("%d", &age); // %d : 입력될 형식지정자, &age : 저장될 변수의 시작주소

자료형 수정자

· short, long 수정자

- 정수형의 데이터를 사용하기 위한 수정자

- 일반적인 규칙에서 short int는 int 보다 작고(memory를 작게 할당받는다), long int는 int보다 크다.(memory를 많이 할당받는다.)

→ 메모리 할당 크기가 다르다는 것은 저장할 수 있는 값의 범위가 다르다는 것을 의미한다.

· signed, unsigined 수정자

- signed 수정자는 부호가 있는 정수를 나타낼 때 사용한다.

- MSB(최상위비트) 1bit를 부호비트로 사용한다. 0 : 양수, 1 : 음수

- signed char 형의 data 범위 : -27 ~ 27-1

- unsigned 수정자는 char, int에 적용될 수 있다.

- 부호가 없는 정수를 만드는데 사용되며, 부호비트가 필요 없으므로 부호 비트자리에 정보를 저장할 수 있게 된다.