본문 바로가기
C언어

C언어 sizeof 함수 공부하기 / C언어 기초

by 여름코딩 2022. 12. 29.
반응형

안녕하세요 판타지코딩입니다!

 

C언어에는 int, char 등의 자료형이 있고, 각 자료형마다 크기가 다 다릅니다. 정수를 저장하는 int는 4byte, 문자를 저장하는 char는 1byte 입니다. 자료형은 고유한 크기가 있고 크기를 구하기 위해서는 sizeof 함수를 활용할 수 있습니다. 오늘은 sizeof 함수의 활용 방법과 예시를 공부해보겠습니다!

 

sizeof 함수


1. sizeof 함수로 크기를 구하는 방법

 

sizeof 함수는 자료형의 크기를 구할 수 있습니다. 사용 방법은 sizeof() 함수의 괄호 안에 자료형의 크기가 궁금한 변수를 넣어주는 것입니다. 아래에 예시를 들어보겠습니다.

 

int a = 10;

int b = 12;

 

cout << sizeof(a) << endl;

cout << sizeof(b) << endl;

 

자료형이 int인 변수 a와 b를 선언하고 각각 10, 12로 초기화를 했습니다. sizeof 함수로 a와 b를 출력한 결과는 4가 출력됩니다. a와 b를 다른 값으로 초기화 했지만 출력된 결과는 동일합니다. 왜냐하면 sizeof 함수로 a와 b의 자료형의 크기를 구한 것이기 때문입니다. 그러므로 sizeof로 변수의 크기를 구하면 자료형의 크기가 반환되는 것입니다.

 

 

2. sizeof 함수 활용 방법

 

sizeof 함수는 위에서 본 것처럼 자료형의 크기를 구할 수 있습니다. 그래서 sizeof 함수는 배열의 크기를 구하기 위해 활용할 수 있습니다. 아래 코드를 작성해서 설명드리겠습니다.

 

char arr[10] = "Hi";

 

cout << sizeof(arr) << endl;

 

자료형이 char인 배열 arr을 생성하고 길이는 10으로 설정했습니다. 그리고 "Hi"라는 문자열을 저장했습니다. sizeof 함수로 arr의 크기를 출력하면 10이 출력됩니다. 저장된 문자는 "Hi"인데 왜 10이 출력될까요? 그 이유는 arr의 길이를 10으로 설정했기 때문입니다. 위에서 이야기 한 것 과 마찬가지로 저장된 데이터의 크기가 출력되는 것이 아닌 현재 변수의 크기를 출력하기 때문입니다.

 

감사합니다!

 

 

반응형