sizeof()是C或C++中常用的运算符。它是一个编译时一元运算运算符,可用于计算其操作数的大小。 sizeof()的结果是无符号整数类型,通常用size_t表示。该运算符可以应用于任何数据类型,包括原始类型(例如整数和浮点类型,指针类型)或复合数据类型(例如结构,联合等)。
int means a variable whose datatype is integer.
sizeof(int) returns the number of bytes used to store an integer.
int* means a pointer to a variable whose datatype is integer.
sizeof(int*) returns the number of bytes used to store a pointer.
由于sizeof运算符返回数据类型或我们传递给它的参数的大小。因此,在将(int *)变量传递给它之后,它应该返回的值:
- 由于int *指向地址位置,因为它是变量的指针,因此, sizeof(int *)仅表示计算机上内存位置的值,并且内存位置本身为4字节至8字节整数值。
- 在32位计算机上, sizeof(int *)将返回值4,因为32位计算机上的内存位置的地址值为4字节整数。
- 同样,在64位计算机上,它将返回8的值,因为在64位计算机上,内存位置的地址是8字节整数。
现在,在将(int)变量传递给它之后,它应该返回的值:
- 由于int是整数类型变量。因此, sizeof(int)仅表示整数的大小值。
- 无论是32位计算机还是64位计算机, sizeof(int)始终将返回值4作为整数的大小。
下面是对64位计算机上的sizeof运算符的说明:
C
// C program to illustrate the
// sizeof operator
#include
// Driver code
int main()
{
// Print the sizeof integer
printf("Size of (int) = %lu"
" bytes\n",
sizeof(int));
// Print the size of (int*)
printf("Size of (int*) = %lu"
" bytes\n",
sizeof(int*));
return 0;
}
C++
// C program to illustrate the
// sizeof operator
#include "bits/stdc++.h"
using namespace std;
// Driver Code
int main()
{
// Print the sizeof integer
cout << "Size of (int) = "
<< sizeof(int) << " bytes\n";
// Print the size of (int*)
cout << "Size of (int *) = "
<< sizeof(int*) << " bytes\n";
return 0;
}
输出:
Size of (int) = 4 bytes
Size of (int*) = 8 bytes
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。