数据类型(基本类型)char、short、int、long、float、double等类型的大小

本文探讨了C语言中的基本数据类型,包括字符型char、短整型short、整形int、长整型long、单精度浮点型float、双精度浮点型double。在32位计算机上,利用sizeof运算符展示了每种类型的内存占用大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据类型包括基本类型、结构类型、指针类型、void空类型。

本篇文章主要讲述基本类型,字符型char、短整型short、整形int、长整型long、单精浮点型float、双精度浮点型double。

注:本文以32位计算机为例。

整型指的是整数类型,这种类型数据没有小数部分。

细分为整形(int)、长整型(long int 或 long)、短整形(short int 或short)。

实型包括单精度浮点型(float)、双精度浮点型(double)。

字符型及char。

 各种类型的大小又是多少呢?

#include <stdio.h>
int main()
{
    printf("%d\n", sizeof(char));
    printf("%d\n", sizeof(short));
    printf("%d\n", sizeof(int));
    printf("%d\n", sizeof(long));
    printf("%d\n", sizeof(long long));
    printf("%d\n", sizeof(float));
    printf("%d\n", sizeof(double));
    printf("%d\n", sizeof(long double));
    return 0;
}

针对每种类型我们分别求出其大小为

 

好的,我来为您解释如何定义不同类型的数组指针,并打印出数组元素之间的字节数。 首先,我们需要知道各种数据类型大小: - char: 1字节 - short: 2字节 - int: 4字节 - float: 4字节 - double: 8字节 - long: 4或8字节(取决于系统) - long long: 8字节 下面是实现这个功能的C语言代码: ```c #include <stdio.h> int main() { char charArray[5]; short shortArray[5]; int intArray[5]; float floatArray[5]; double doubleArray[5]; long longArray[5]; long long longLongArray[5]; char *charPtr = charArray; short *shortPtr = shortArray; int *intPtr = intArray; float *floatPtr = floatArray; double *doublePtr = doubleArray; long *longPtr = longArray; long long *longLongPtr = longLongArray; printf("char类型数组元素间隔: %ld字节\n", (char*)(charPtr+1) - (char*)charPtr); printf("short类型数组元素间隔: %ld字节\n", (char*)(shortPtr+1) - (char*)shortPtr); printf("int类型数组元素间隔: %ld字节\n", (char*)(intPtr+1) - (char*)intPtr); printf("float类型数组元素间隔: %ld字节\n", (char*)(floatPtr+1) - (char*)floatPtr); printf("double类型数组元素间隔: %ld字节\n", (char*)(doublePtr+1) - (char*)doublePtr); printf("long类型数组元素间隔: %ld字节\n", (char*)(longPtr+1) - (char*)longPtr); printf("long long类型数组元素间隔: %ld字节\n", (char*)(longLongPtr+1) - (char*)longLongPtr); return 0; } ``` 这段代码首先定义了各种类型的数组和对应的指针。然后,我们使用指针算术来计算数组中连续元素之间的字节数。 具体来说,(char*)(ptr+1) - (char*)ptr 计算了两个相邻元素地址之间的差值,这个差值就是元素之间的字节数。 注意: 1. 我们将指针转换为(char*)类型是为了确保计算结果以字节为单位。 2. 这种方法适用于连续存储的数组。如果使用非连续存储的数据结构(如链表),结果可能不准确。 3. 在某些系统上,long类型大小可能不同(4字节或8字节)。这取决于具体的编译器和系统架构。 4. 这段代码假设数组在内存中是连续存储的,这在C语言中是成立的。 通过运行这段代码,您可以看到各种类型数组中元素之间的字节数。这对于理解数据类型大小和内存布局很有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值