본문 바로가기

프로그래밍(코딩)/C언어

C언어 독학하기-(2) 자료형의 종류와 상수, 변수 개념 이해하기

반응형

'C언어 독학하기-(2) 자료형의 종류와 상수, 변수 개념 이해하기'

 

 

이번 글에서는 C언어 프로그래밍에 앞서 데이터 정보가 저장되는 방식과 함께 자료형의 종류, 상수와 변수 개념에 대하여 정리해보도록 하겠습니다.

 

 


 


 

<03-1 컴퓨터의 자료 기억 방식>

 

컴퓨터는 주기억 장치로 '(RAM)' 사용한다.

메모리는 1바이트 단위 주소가 매겨져 있다.

 

(주소가 1바이트 단위로 부여되어 있어도 데이터가 1바이트 단위로 저장 필요 X)

 

1바이트 단위는 운영체제가 메모리를 관리하는 단위이고, 작은 비트 단위로 정보를 저장 혹은 읽기 가능.

 

메모리의 최소 저장 단위 = 비트(bit)

1비트 = 0, 1 중에서 1 저장 가능

 

저장 단위가 1비트 증가할 때마다 저장 단위는 2배가 된다.

(8비트(Bit) = 1바이트(Byte) => 숫자 저장 가능 범위 (0 ~ 255) , 256개)

 

 

 

부호 비트 예시 (8비트 기준)

 

부호 비트 이용하여 양수와 음수를 구별한다.

(음수일 때는 1, 양수일 때는 0)

(부호 표현에 1비트 사용 + 데이터 저장 7비트 사용 (0~127), (-128~-1), 256개)

 

"데이터를 저장할 메모리를 절약하려면?"

-데이터의 유효 범위를 예상하고 적합한 크기를 결정하는 것이 메모리에 데이터를 효율적으로 저장하는데 가장 중요한 작업이다.

 

 

 


 

<03-2 문자를 숫자로 표현하는 약속, 아스키 코드>

 

문자를 숫자로 약속해서 전송하는 것이 데이터 크기도 일정하고 효율적이기 때문에 변환 표준 약속인 아스키 코드 사용한다.

 

"아스키(ASCII) 컴퓨터에서 문자를 숫자로 표현하기 위한 약속이다."

 

문자의 아스키 값은 부호 없는 1바이트 메모리에 저장하는 것이 가장 효율적이다.

 

 

 

(아스키 문자표는 아래 사이트를 참고하기)

 

 

ASCII - 위키백과, 우리 모두의 백과사전

1972 프린터 사용 설명서에 개시된 아스키 코드 차트표 미국정보교환표준부호(영어: American Standard Code for Information Interchange), 또는 줄여서 ASCII( , 아스키)는 영문 알파벳을 사용하는 대표적인 문자

ko.wikipedia.org

 

 

 


 

<03-3 자료형의 종류>

 

데이터 타입, '자료형' 필요한 이유는 사용할 데이터의 크기에 맞게 메모리를 할당해서 효율적으로 사용할 있도록 하기 위해서이다.

 

 

 

-정수를 표현하는 자료형-

 

-signed char : 부호가 있는 1바이트 저장 공간

-unsigned char : 부호가 없는 1바이트 저장 공간

 

-signed short int : 부호가 있는 2바이트 저장 공간

-unsigned short int : 부호가 없는 2바이트 저장 공간

 

-signed long int : 부호가 있는 4바이트 저장 공간

-unsigned long int : 부호가 없는 4바이트 저장 공간

 

정수를 표현하는 자료형 표

 

 

 

-실수를 표현하는 자료형-

 

컴퓨터에서 실수를 표현하는 방식, 부동소수점 표현 방식이란 실수를 표현할 소수점의 위치를 고정하지 않고 소수점의 위치를 나타내는 수를 따로 적는 방식이다. (중요X)

 

-float : 4바이트(32비트) 부동소수점 표현 (소수점 이하 6자리까지)

-double : 8바이트(64비트) 부동소수점 표현 (소수점 이하 14자리까지)

 

 

 


 

<04-1 항상 같은 , 상수>

 

상수 프로그램을 실행할 값이 결정되면 프로그램이 끝날 까지 다른 값으로 바뀌지 않는 정보이다.

 

 

 

-숫자형 상수-

 

-정수형 또는 실수형 상수로 나뉜다.

 

-문자형 상수-

 

-영문자, 숫자형 문자, 특수 문자

-작은 따옴표(') 사용하여 표현한다.

-C언어 프로그래밍에서 아스키 코드 대신 문자를 입력하면 컴파일러가 소스 코드를 기계어로 번역할 아스키 코드 값으로 자동 변환한다.

 

-문자열형 상수-

 

- 이상의 문자를 표현할 따옴표(") 묶어서 사용한다.

-문자열은 마지막 메모리 자리에 0 값이 추가된다.

 

 

 


 

<04-2 데이터 저장 공간, 변수>

 

변수 변하는 값이며, 프로그램이 실행되는 동안 지속적으로 값이 바뀌는 정보 혹은 사용자로부터 데이터를 받거나 처리하려면 저장할 공간이 필요한데, 이러한 저장 공간을 뜻한다.

 

변수 이름은 컴파일러가 소스 코드를 기계어로 번역하는 과정에서 실제 메모리상의 주소로 변경된다.

 

 

-변수 이름을 정할 기억해야 것-

 

-변수 이름은 영문자 a~z, A~Z, 숫자 0~9, _(밑줄) 조합하여 정의할 있다.

-공백을 포함할 없다.

-대소문자를 구별하여 인식한다.

-C언어의 예약어는 변수 이름으로 사용할 없다.

 

(참고 : 카멜 표기법, 헝가리언 표기법)

 

 

-변수 선언-

 

'변수를 선언한다 것' 프로그램에서 정보를 저장하기 위해 메모리 공간을 확보하는 과정을 의미한다.

 

사용자가 사용할 메모리 크기에 적합한 자료형을 지정하여 선언한다.

 

변수 선언 예시

 

 

 

-변수 초기화-

 

사용한 메모리는 이전에 어떤 프로그램이 사용했는지 없고, 어떤 값이 들어있는지도 없다.

 

따라서 '변수 초기화' 정리되지 않은 "쓰레기 " 대신에 사용하고 싶은 특정한 값을 메모리에 저장하는 것을 의미한다.

 

변수 초기화 예시

 

 

 


 


 

 

 

이번 시간에는 C언어 프로그래밍에서의 자료형의 종류와 상수, 변수 개념을 이해하고 정리해보았습니다. 제가 익힌 내용들을 글로 정리한다는 것이 확실히 쉽지 않네요. 그래도 훨씬 높은 학습 효과를 볼 수 있다고 생각하여 앞으로 꾸준히 정리할 수 있도록 노력해야겠습니다.

 

 

 

 

 

 

 

 

 

 

 

추천하는 글

 

 

C언어 독학하기-(1) Visual Studio C언어 개발 환경 구축하기

'C언어 독학하기-(1) Visual Studio C언어 개발 환경 구축하기' 원래 JAVA 언어를 독학으로 정리하고 있었는데 이렇게 갑자기 C언어에 대해 다루게 된 계기는 이전에 KAIST 사이버영재교육을 통해 C언어

anywhereifyoucan.com

 

 

티스토리 블로그 메뉴 아이콘 애니메이션 넣는 방법 알아보기

'티스토리 블로그 메뉴 아이콘 애니메이션 넣는 방법 알아보기' 저번 글에서는 마우스 클릭 시에 물결 효과가 나타나게 하는 방법에 대해 알아보았었는데요, 이번에는 개인적으로 블로그 화면

anywhereifyoucan.com

 

반응형