编辑这个页面须要登录或更高权限!

C 语言数据类型

在本教程中,您将学习C编程中的基本数据类型,例如int,float,char等。

在C语言中有以下数据类型:

类型数据类型
基本数据类型int, char, float, double
派生数据类型array, pointer, structure, union
枚举数据类型enum
Void数据类型void

在C编程中,数据类型是变量的声明。这决定了与变量关联的数据的类型和大小。例如:

int myVar;

在这里,myVar是int(整数)类型的变量。int的大小为4个字节。

基本类型

下表罗列出C语言编程中常用的基本数据类型。

数据类型存储大小范围
char1 字节-128 到 127
signed char1 字节-128 到 127
unsigned char1 字节0 到 255
short2 字节-32,768 到 32,767
signed short2 字节-32,768 到 32,767
unsigned short2 字节0 到 65,535
int2 或 4 字节-32,768 到 32,767
signed int2 或 4 字节-32,768 到 32,767
unsigned int2 或 4 字节0 到 65,535
short int2 字节-32,768 到 32,767
signed short int2 字节-32,768 到 32,767
unsigned short int2 字节0 到 65,535
long int4 字节-2,147,483,648 到 2,147,483,647
signed long int4 字节-2,147,483,648 到 2,147,483,647
unsigned long int4 字节0 到 4,294,967,295
float4 字节
double8 字节
long double10 字节

int(整型)

整数可以具有零,正和负值。例如,0,-5,10

我们可以int用来声明一个整数变量。

int id;

在这里,id是整数类型的变量。

您可以在C语言编程中一次声明多个变量。例如,

int id, age;

int的大小通常为4个字节(32位)。

float(单精度浮点数) 和 double(双精度浮点数)

float并且double用于保存实数,也就是含有小数点的数字。

float salary;
double price;

在C语言中,浮点数也可以用指数表示。例如,

float normalizationFactor = 22.442e2;

float和double之间有什么区别?

float(单精度浮点数据类型)的大小为4个字节。double(双精度浮点数据类型)的大小为8个字节。

char

关键字char用于声明字符类型变量。例如,

char test = 'h';

字符变量的大小为1个字节。

void

void是空类型,一般用于函数的返回类型表示,表示该函数啥都不返回。

例如,如果函数不返回任何内容,则其返回类型应为void。

请注意,您不能创建void类型的变量。

void 类型指定没有可用的值。它通常用于以下三种情况下:

类型与描述
函数返回为空
C 中有各种函数都不返回值,或者您可以说它们返回空。不返回值的函数的返回类型为空。例如 void exit (int status);
函数参数为空
C 中有各种函数不接受任何参数。不带参数的函数可以接受一个 void。例如 int rand(void);
指针指向 void
类型为 void * 的指针代表对象的地址,而不是类型。例如,内存分配函数 void *malloc( size_t size ); 返回指向 void 的指针,可以转换为任何数据类型。

short 和 long

如果需要使用较大的数字,则可以使用long类型说明符。方法如下:

long a;
long long b;
long double c;

这里变量a和b可以存储整数值。并且,c可以存储浮点数。

如果您确定只使用一个小整数(范围为[−32,767, +32,767]),则可以使用short。

short d;

您可以使用sizeof()运算符检查变量的大小。示例如下:

#include <stdio.h>      
int main() {
    short a;
    long b;
    long long c;
    long double d;

    printf("short 字节大小 = %d 字节\n", sizeof(a));
    printf("long 字节大小= %d 字节\n", sizeof(b));
    printf("long long 字节大小= %d 字节\n", sizeof(c));
    printf("long double 字节大小= %d 字节\n", sizeof(d));
    return 0;
}

输出结果:

short 字节大小 = 2 字节
long 字节大小= 4 字节
long long 字节大小= 8 字节
long double 字节大小= 8 字节

signed 和 unsigned

在C中,signed和unsigned是类型修饰符。您可以使用它们来更改数据类型的数据存储。例如,

unsigned int x;
int y;

在这里,x由于我们使用了unsigned修饰符,因此该变量只能存储零和正值。

考虑到int的大小为4个字节,变量y可以保存从-231 到 231-1的值,而变量x可以保存从0 到 232-1的值。

用C语言编程中,还有其他数据类型是:

  • 布尔型

  • 枚举类型

  • 复数杂类型

派生数据类型

从基本数据类型派生的数据类型是派生类型。例如:数组,指针,函数类型,结构等。

我们将在以后的教程中了解这些派生的数据类型。