Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++를 사용한 sizeof 연산자의 결과

<시간/>

Sizeof 연산자는 우리가 전달하는 데이터 구조 또는 데이터 유형의 크기를 계산하는 데 사용되는 C 언어에서 가장 많이 사용되는 연산자 중 하나입니다. sizeof 연산자는 부호 없는 정수형을 반환하며, 이 연산자는 원시 데이터형과 복합 데이터형에 모두 적용할 수 있다. sizeof 연산자를 데이터 유형에 직접 사용할 수 있고 그것이 차지하는 메모리를 알 수 있습니다 -

#include <bits/stdc++.h>
using namespace std;

int main() {
   cout << sizeof(int) << "\n";
   cout << sizeof(char) << "\n";
   cout << sizeof(float) << "\n";
   cout << sizeof(long) << "\n";
   return 0;
}

출력

4
1
4
8
8

이 기능을 사용하여 이 데이터 유형의 모든 변수가 차지하는 공간을 알 수 있습니다. 출력은 또한 16_비트 컴파일러가 32_비트 컴파일러와 다른 int 값을 제공하므로 컴파일러에 따라 다릅니다.

이 연산을 표현식에 적용할 수도 있습니다. −

#include <bits/stdc++.h>
using namespace std;

int main() {
   cout << sizeof(int) << "\n";
   cout << sizeof(char) << "\n";
   cout << sizeof(float) << "\n";
   cout << sizeof(double) << "\n";
   cout << sizeof(long) << "\n";
   return 0;
}

출력

4
4

보시다시피 x의 이전 값은 4였으며, 접두사 연산 후에도 동일하게 유지됩니다. 이는 모두 이 연산자가 컴파일 시간에 사용되므로 적용한 표현식의 값을 변경하지 않기 때문에 연산자의 크기 때문입니다.

sizeof 연산자의 필요성

sizeof 연산자의 다양한 용도가 있습니다. 여전히 배열, 구조, 공용체 등과 같은 복합 데이터 유형 크기를 결정하는 데 주로 사용됩니다.

#include <bits/stdc++.h>

using namespace std;

int main() {
   int arr[] = {1, 2, 3, 4, 5}; // the given array

   int size = sizeof(arr) / sizeof(int); // calculating the size of array

   cout << size << "\n"; // outputting the size of given array
}

출력

5

여기서 먼저 전체 배열의 크기를 계산하거나 차지하는 메모리를 계산합니다. 그런 다음 그 숫자를 데이터 유형의 크기로 나눕니다. 이 프로그램에서는 int입니다.

이 연산자의 두 번째로 중요한 사용 사례는 동적 메모리를 할당하는 것이므로 공간을 할당할 때 sizeof 연산자를 사용합니다.

#include <bits/stdc++.h>

using namespace std;

int main() {
   int* ptr = (int*)malloc(10 * sizeof(int)); // here we allot a memory of 40 bytes
   // the sizeof(int) is 4 and we are allocating 10 blocks
   // i.e. 40 bytes
}

결론

이 기사에서는 sizeof 연산자의 사용과 이것이 어떻게 작동하는지 논의합니다. 또한 출력을 보고 토론하기 위해 다양한 유형의 사용 사례를 코딩했습니다. 이 연산자의 사용 사례를 C++로 구현했습니다. C, Java, Python 등과 같은 다른 언어로 동일한 프로그램을 작성할 수 있습니다. 이 기사가 도움이 되기를 바랍니다.