Computer >> Máy Tính >  >> Lập trình >> C ++

Kết quả của toán tử sizeof sử dụng C ++

Toán tử sizeof là một trong những toán tử được sử dụng nhiều nhất trong ngôn ngữ C được sử dụng để tính toán kích thước của bất kỳ cấu trúc dữ liệu hoặc kiểu dữ liệu nào mà chúng ta truyền qua nó. Toán tử sizeof trả về kiểu số nguyên không dấu và toán tử này có thể được áp dụng cho kiểu dữ liệu nguyên thủy và kết hợp. Chúng ta có thể sử dụng toán tử sizeof trực tiếp cho các kiểu dữ liệu và biết bộ nhớ mà nó đang chiếm -

Ví dụ

#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;
}

Đầu ra

4
1
4
8
8

Bằng cách sử dụng chức năng này, chúng tôi có thể biết không gian mà bất kỳ biến nào của kiểu dữ liệu này chiếm. Đầu ra cũng phụ thuộc vào trình biên dịch vì trình biên dịch 16_bit sẽ cung cấp giá trị khác cho int so với trình biên dịch 32_bit.

Chúng tôi cũng có thể áp dụng thao tác này cho một biểu thức -

Ví dụ

#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;
}

Đầu ra

4
4

Như bạn có thể thấy, giá trị trước đó của x là bốn và ngay cả sau khi hoạt động tiền tố, nó vẫn giữ nguyên. Tất cả là do kích thước của toán tử vì toán tử này được sử dụng trong thời gian biên dịch, vì vậy nó không thay đổi giá trị của biểu thức mà chúng tôi đã áp dụng.

Sự cần thiết của toán tử sizeof

Có nhiều cách sử dụng toán tử sizeof. Tuy nhiên, nó chủ yếu được sử dụng để xác định kích thước kiểu dữ liệu phức hợp như mảng, cấu trúc, liên hợp, v.v.

Ví dụ

#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
}

Đầu ra

5

Ở đây, trước tiên, chúng tôi tính toán kích thước của toàn bộ mảng hoặc tính toán bộ nhớ mà nó đang chiếm dụng. Sau đó, chúng tôi chia số đó với sizeof của kiểu dữ liệu; trong chương trình này, nó là int.

Trường hợp sử dụng quan trọng thứ hai đối với toán tử này là cấp phát bộ nhớ động, vì vậy chúng tôi sử dụng toán tử sizeof khi phân bổ không gian.

Ví dụ

#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
}

Kết luận

Trong bài viết này, chúng ta sẽ thảo luận về việc sử dụng toán tử sizeof và cách hoạt động của toán tử này. Chúng tôi cũng mã hóa các loại trường hợp sử dụng khác nhau của nó để xem kết quả và thảo luận về nó. Chúng tôi đã triển khai các trường hợp sử dụng của toán tử này trong C ++. Chúng tôi có thể viết cùng một chương trình bằng các ngôn ngữ khác như C, Java, Python, v.v. Chúng tôi hy vọng bạn thấy bài viết này hữu ích.