32位机器上double short char* long long 变量类型所占的内存分别是多少?
时间: 2023-11-27 18:03:35 浏览: 82
在32位机器上,变量类型所占的内存分别如下:
- `double`:8字节
- `short`:2字节
- `char`:1字节
- `*`(指针):4字节
- `long long`:8字节
因此,它们分别占用的内存大小为:
- `double`:8字节
- `short`:2字节
- `char*`:4字节
- `long long`:8字节
请注意,`char*`指针在32位机器上占用4字节,因为它是一个指向`char`类型的指针,在32位机器上,指针的大小为4字节。
相关问题
32位机器上各个变量类型所占的内存分别是多少?
在32位机器上,各个变量类型所占的内存大小如下:
- char:1字节
- short:2字节
- int:4字节
- long:4字节
- float:4字节
- double:8字节
- 指针:4字节
需要注意的是,这里给出的是一般情况下的内存大小。在不同的编译器和操作系统下,这些类型可能会有所不同。
编写程序,输出short, int, long, float, double, char等类型变量所占的存储空间大小
### 回答1:
short类型变量占用2个字节的存储空间;
int类型变量占用4个字节的存储空间;
long类型变量占用8个字节的存储空间;
float类型变量占用4个字节的存储空间;
double类型变量占用8个字节的存储空间;
char类型变量占用1个字节的存储空间。
### 回答2:
编写程序可以使用C语言中的sizeof运算符来输出不同类型变量的存储空间大小。具体代码如下:
```c
#include <stdio.h>
int main() {
printf("short类型变量所占的存储空间大小为:%lu 字节\n", sizeof(short));
printf("int类型变量所占的存储空间大小为:%lu 字节\n", sizeof(int));
printf("long类型变量所占的存储空间大小为:%lu 字节\n", sizeof(long));
printf("float类型变量所占的存储空间大小为:%lu 字节\n", sizeof(float));
printf("double类型变量所占的存储空间大小为:%lu 字节\n", sizeof(double));
printf("char类型变量所占的存储空间大小为:%lu 字节\n", sizeof(char));
return 0;
}
```
这段代码使用sizeof运算符获取不同类型变量的存储空间大小,并使用printf函数输出结果。输出结果中使用%lu作为格式控制符来输出无符号长整型的大小。最后返回0表示程序运行成功结束。
### 回答3:
编写程序以输出不同类型的变量所占用的存储空间大小,可以使用C或C++语言进行实现。下面是一个C语言的示例程序:
```c
#include <stdio.h>
int main()
{
printf("short类型的存储空间大小:%lu字节\n", sizeof(short));
printf("int类型的存储空间大小:%lu字节\n", sizeof(int));
printf("long类型的存储空间大小:%lu字节\n", sizeof(long));
printf("float类型的存储空间大小:%lu字节\n", sizeof(float));
printf("double类型的存储空间大小:%lu字节\n", sizeof(double));
printf("char类型的存储空间大小:%lu字节\n", sizeof(char));
return 0;
}
```
程序中使用sizeof运算符获取不同类型变量的存储空间大小,并通过printf函数输出到控制台。其中,%lu是用于打印无符号长整型的格式控制符。运行程序后,将会输出各个类型变量所占用的存储空间大小。