본문 바로가기
C 언어

c 언어[012] 데이터 크기 사이즈 알아보는 함수 sizeof(a) 변수의 사이즈 알아보기

by Smart Factory in 2020 2020. 10. 9.
728x90
반응형

안녕하세요. 스마트 팩토리입니다. 

c 언어[011] 사이즈 크기 함수 sizeof(a) 변수의 사이즈를 알아보기데이타 크기 사이즈 알아보는 함수  sizeof(a) 변수의 사이즈 알아보기에 대해 확실히 이해하고 가겠습니다. 

이젠 슬슬 초급에서 기본으로 넘어가고 있어서 변수의 자료형 즉 데이터 타입과 그 크기를 다시 확인해 보도록 하겠습니다.

 

자료형과 크기는 기본적으로 암기를 해야 합니다. c 언는 변수 앞에 자료형이 문자형인지 정수형인지 실수형인 표기를 하기 때문에 직관적으로 이해할 수 있습니다. 

그런데 크기는 암기 하지 않으면 자주 하지 않는한 헷갈릴 수 있습니다. 저도 공부한지 1년도 안되었지만 나름의 체계가 지금에서야 잡히는 것을 보면 암기할 것은 암기를 해 줘야 정신건강에 좋습니다. 

 

sizeof(변수)를 넣으면 그 크기를 알 수 있습니다. 물론 실행문에서 나오는 숫자는 byte입니다. 

//  는 주석 표시 입니다. 출력문에서는 실행되지 않고 프로그램 작성자의 메모장 같은 역할을 합니다. 코드에 직접 작성하여 중요한 내용을 적기도 하고 , 다른 사람들이  봐서 프로그램을 이해할 수 있도록 하기 위해서 입니다. 

물론 자기만의 표기를 통해 오히려 다른 사람들이 못알아보게 하는 경우도 있지만 말이지요. 

정수형 short, int, long  실수형 float, double, 문자형 char C언어는  문자열이 없어서 str은 없고 배열 char a[10] 와같이 배열로 대신합니다. 배열은 []대괄호 안의 숫자가 문자의 1개씩을 의미하기 때문에 a[10]은 1바이트 *10개를 의미하여 10byte 가 됩니다. 


#include<stdio.h>
void main() {
short a1= 10;
int a2 = 4;
float a3 = 3.14;
double a4 = 1.41441592377799;
char b1 = '문';
char b2[5];
char b3[10];
//정수형
printf("short a1은 %d byte 입니다. \n\n", sizeof(a1));
printf("int a2는 %d byte입니다. \n\n", sizeof(a2));
// 실수형
printf("float a3는 %d byte입니다.\n\n", sizeof(a3));
printf("double a4는 %d byte입니다. \n\n\n\n", sizeof(a4));
//문자 char 형, 문자열
printf("단일문자 char b1은 %d byte 입니다.\n\n", sizeof(b1));
puts("배열로 된 문자열은 대괄호 안의 숫자가 바이트 수입니다.\n");
printf("b2[5]는 %d byte 입니다. \n\n", sizeof(b1));
printf("b3[10]은 %d byte 입니다. \n\n", sizeof(b2));
}


위 코드에 숫자만 변경하여 차이를 알 수 있습니다. 

728x90
반응형

댓글