【C语言】数据类型

数据类型

  • 基本类型
    • 整数类型:int
    • 浮点数类型:float
    • 字符类型:char
    • 布尔类型:_Bool
    • 枚举类型:enum
  • 构造类型
    • 数组类型
    • 结构类型
    • 联合类型
  • 指针类型
  • 空类型

类型的长度

在C语言中,并没有固定 int 的长度,如:

  • 16位编译器说明:int占16位,内存2字节,最大值:32767;
  • 32位和64位编译器:int占32位,内存4字节,最大值:21474836473位数的增加,那么自然位数也在倍增。

整数类型

长度大小: long long int >= long int >= int >= short int,C语言虽没有规定具体长度,但大小的一定是这样

short int
int
long int
long long int

检测长度方法 sizeof()

  • sizeof(object); // 对象
  • sizeof(type_name); // 类型
  • sizeof object; // 对象
#include <stdio.h>

int main()
{
        printf("short int 的长度:%d \n",sizeof(short int));
        printf("int 的长度:%d \n",sizeof(int));
        printf("long int 的长度:%d \n",sizeof(long int));
        printf("long long int 的长度:%d \n",sizeof(long long int));
        return 0;
}

mark

浮点数类型 & 字符类型 & 布尔类型

浮点数类型 
float 
double
long double 

字符类型
char

布尔类型 
_Bool
#include <stdio.h>

int main()
{
        // 整数类型
        printf("float 的长度:%d \n",sizeof(float));
        printf("double 的长度:%d \n",sizeof(double));
        printf("long double 的长度:%d \n",sizeof(long double));
        // 字符类型
        printf("char 的长度:%d \n",sizeof(char));
        // 布尔类型
        printf("_Bool 的长度:%d \n",sizeof(_Bool));
        return 0;
}

mark

signed & unsigned

有符号:能表示 正负数;无符号:只能表示正数

// 定义例子
- [singed] short [int]
- unsigned short [int]
- [signed] int 
- unsigned int
- [signed] long [int]
- unsigned long [int]
- [signed] long long [int] 
- unsigned long long [int]
#include <stdio.h>

int main ()
{
        // 有符号
        int i;
        // 无符号
        unsigned int j;

        i = -520;
        j = 520;

        printf("有符号 %d \n",i);
        printf("无符号 %u \n",j); // 打印无符号的需要 %u

}

mark

发表评论 / Comment

用心评论~