C语言中的数据类型

本文介绍了C语言中的数据类型,包括基本类型如整型(有符号和无符号)、浮点型(单精度、双精度和长双精度),以及它们的存储大小和值范围。此外,还提到了字符类型、枚举类型和void类型的基本概念。通过sizeof关键字可以获取类型占用的字节数。最后,讨论了派生类型,如指针、数组、结构体等。

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

C语言中的数据类型分为:基本类型,枚举类型,void类型,派生类型;

所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据存储方式。不同类型分不同的长度和存储方式。

 

  • 基本类型

整数类型类型就是用来存放整数数值的,比如12,536等;

整数类型

类型

储存大小

值范围

char

1字节

-128 到 127 或 0 到 255

unsigned char

1 字节

0 到 255 (2^8 - 1)

signed char

1字节

-128 即-(2^7) 到 127 (2^7-1)

int

2或4字节

-32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647

unsigned int

2 或 4 字节

0 到 65,535 或 0 到 4,294,967,295

short

2 字节

-32,768 到 32,767

unsigned short

2 字节

0 到 65,535

long

4 字节

-2,147,483,648 到 2,147,483,647

unsigned long

4 字节

0 到 4,294,967,295

整型的使用细节:

1.各种类型的储存大小跟操作系统有关,系统位数和编译器有关,目前通用的是64位操作系统为主。

2.在实际工作中, c程序通常运行在linux/unix 操作系统下.大众:使用windows10(64位)

3.C语言的整型类型, 分为有符号 signed 和无符号 unsigned 两种, 默认是 signed

4.C程序中整型常声明为int型, 除非不足以表示大数, 才使用long long

  Bit(位):计算机中的最小存储单位,byte(字节):计算机中基本存储单元

1.1byte = 8bit [二进制再详细说, 简单举例一个 short 3 和 int 3 ]

2.short 3 ,在内存中占有 2字节

3 .int 3在内存中占有 4个字节

 

浮点类型

c语言中浮点型类型可以表示一个小数,比如123.4 7.8,0.12等等

类型

储存大小

值范围

精度

float 单精度

4 字节

1.2E-38 到 3.4E+38

6 位小数

double 双精度

8 字节

2.3E-308 到 1.7E+308

15 位小数

long double

16 字节

3.4E-4932 到 1.1E+4932

19 位小数

我们可以使用sizeof关键字来输出类型所占字节长度:

printf("sizeof(int):%d",sizeof(int));

字符类型

基本介绍

字符类型可以表示单个字符,字符类型是char, char是1个字节(可以存字母或者数字),多个字符称为字符串, 在C语言中 使用 char数组 表示,数组不是基本数据类型,而是构造类型。

字符类型使用细节:

  1. 字符常量是用单引号('')括起来的单个字符。 例如: char c1 ='a'; char c3 = '9';
  2. C中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。例如: char c3 = ‘\n’; // '\n'表示换行符
  3. 在C中, char的本质是一个整数,在输出时,是ASCII码对应的字符。
  4. 可以直接给char赋一个整数,然后输出时,会按照对应的ASCII 字符输出 [97]
  5. char类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码.

枚举(enum)类型:

枚举是 C 语言中的一种基本数据类型,它可以让数据更简洁,更易读。

一般用来列举有限的数据取值。比如星期、月份或者有限特殊类型等等。

枚举语法定义格式为:

enum 枚举名 {枚举元素1,枚举元素2,……};

枚举的特点:

1、枚举元素的类型为整型(int)

2、第一个元素默认值为0,后面元素依次累加。

3、可以指定任意位置元素的值,其后的值在他的基础上进行累加

void类型(空类型)

void类型(空类型)有以下三种情况:

函数返回为空。 例如: void func(int i);

函数参数为空。 例如: int returnValue(); 或者 int returnValue(void);

指针指向为空。 例如:void *p; 定义一个空类型的p指针变量。

派生类型

派生类型包括:指针类型、数组类型、结构类型、共用体类型和函数类型。

举例如下:

int *p;  //定义一个指向整型的指针变量。 指针类型

double arr[5]; //定义一个长度为5的浮点型数组。 数组类型

struct Student //定义一个结构类型,里面包含两个整型变量。

{

int sex;

int age;

}

//union类型

//函数类型即我们定义的函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值