반응형

【 C 언어 】 #43 데이터형에 따른 메모리 할당 크기 확인하기


 데이터 유형에 따라 메모리를 할당 받는 크기가 다르다. 예를 들어 정수형인 int는 4byte(1byte 는 8bit), char형은 1byte... 요즘 처럼 아두이노 등을 활용할 일이 많은 상황에서 작성 프로그램이 커질 경우, 데이터 유형에 따른 메모리 할당 크기를 파악하고 있으면, 변수 선언시, 비효과적으로 메모리를 찾이하는 것을 방지 할 수 있다. 


▶ 문제  :  데이터 유형에 따른, 다음 각 변수들을 선언하고 각각의 메모리 사이즈를 화면에 출력하라.  (출력할 유형 : int, char, short, long, float, double)


▶ 실행 결과 :


(이미지 클릭, 확대해서 보세요)



▶ 포인트 


- 데이터 유형에 따라 변수명을 선언한다. 

- 변수 유형에 따른 메모리 크기를 확인 할 수 있는 함수는 sizeof()  이다. (byte 단위)

- 위 6가지 외에도, 부호를 나타낼 수 있고 없고에 따른 unsigned 가 붙는 유형 등이 있다. 




▶ 프로그램 (답안 예시) : 

(이미지 클릭, 확대해서 보세요)


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



▶ 소스코드 다운로드 :  


43 데이터형의 메모리 할당크기 확인하기.cpp



반응형
반응형

【 C 언어 】 #41 사용자 정의 데이터형( typedef ) 이해하기



 C++ 에서 사용되는 데이터형 등을 C언어에서도 사용 할 수 있도록 사용자가 정의하여 쓸 수 있는 데이터형을 말한다.  다르게 얘기하면 내장함수로 존재하지 않은 변수명을 프로그램 내에서 내장함수 인것 처럼 사용이 가능하다. 
즉, 사용자가 임의로 데이터형을 정의해서 사용할 수 있다.


▶ 문제  : C++의 내장 함수인 bool 형을 C 코딩툴에서도 사용 할 수 있도록 사용자 정의 데이터 형을(typedef) 이용하여 정의하고, 숫자 '1'을 입력을 받으면, 
'true'를 출력하고 숫자 '0'을 입력 받으면 'false'를 출력하고, 그 외 숫자를 입력 받으면 " 
1과 0 중에 하나를 입력하세요 " 라는 메세지를 출력 하는 프로그램을 작성하라.  

( 단, 본인은 C++ 이 지원 되는 코딩 툴에서 작성하기 때문에, 'bool' 은 이미 정의 되어 있다. 따라서 정의 되어 있지 않은 'bools'라는 변수명을 사용 하였다)


▶ 실행 결과 :


(이미지 클릭, 확대해서 보세요)




▶ 포인트 


- typedef 사용 형식 

- 위와 같이 선언 하고 나면, 'Condition' 이라는 변수를 int 형으로 다음과 같이 선언이 가능 하다.  " bools Condition "



▶ 프로그램 (답안 예시) : 


(이미지 클릭, 확대해서 보세요)



+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++




▶ 소스코드 다운로드 :  


41 사용자 데이터형(typedef) 이해하기.cpp





~~~~~~~~~~~~~~~~~~ 추가 설명 ~~~~~~~~~~~~~~~~~~~~~~~~~


'typedef' 문은 구조체 나 공용체, 열거형 등에서도 사용 할 수 있다. 


1). 구조체 사용 예시


typedef struct

{

int kor;

int eng;

int math;

} Average;


Average  AV;     // 원래는 'struct Average AV;' 라고 선언해야하나, 
AV.kor = 80;      // 이처럼 줄여서 사용할 수 있게 된다.



2). 공용체 사용 예시


typedef union

{

char ch;

int Count;

} Pluse;


Pluse  PP;             // 원래는 'union Pluse PP;' 라고 선언해야하나, 
PP.Count =  10;     // 이처럼 줄여서 사용할 수 있게 된다.




반응형