分享

总结了C语言的各种数据类型,从基本类型到空类型,这里全都有!

 流形sbz 2023-11-16 发布于甘肃

C语言是一种广泛使用的编程语言,它可以用来开发各种应用程序,如操作系统、数据库、游戏、嵌入式系统等。C语言的一个重要特点是它提供了多种数据类型,用来表示不同的数据。数据类型是指变量或常量所能存储的数据的种类和范围。

总结了C语言的各种数据类型,从基本类型到空类型,这里全都有!

C语言的数据类型可以分为两大类:基本数据类型、构造类型、指针类型和空类型。

基本数据类型

基本数据类型是指C语言内置的数据类型,它们可以直接用来定义变量或常量。C语言的基本数据类型有以下几种:

整型(int):用来表示整数,如1,-5,0等。整型有不同的长度,如short int(短整型),long int(长整型),long long int(长长整型)等,它们的取值范围和存储空间也不同。

一般来说,短整型至少占用2个字节,长整型至少占用4个字节,长长整型至少占用8个字节。

整型还可以分为有符号(signed)和无符号(unsigned),有符号的整型可以表示正数和负数,无符号的整型只能表示非负数。

例如:

short int a = 10; // 定义一个短整型变量a,赋值为10long int b = -1000; // 定义一个长整型变量b,赋值为-1000unsigned int c = 20; // 定义一个无符号整型变量c,赋值为20

浮点型(float):用来表示小数,如3.14,-0.5,0.0等。

浮点型有不同的精度,如float(单精度浮点型),double(双精度浮点型),long double(长双精度浮点型)等,它们的取值范围和存储空间也不同。

一般来说,单精度浮点型占用4个字节,双精度浮点型占用8个字节,长双精度浮点型占用12个字节或16个字节。浮点型可以表示很大或很小的数,但是有一定的误差,不能精确表示所有的小数。

例如:

float x = 1.23; // 定义一个单精度浮点型变量x,赋值为1.23double y = 3.1415926; // 定义一个双精度浮点型变量y,赋值为3.1415926long double z = 1.234567890123456789; // 定义一个长双精度浮点型变量z,                                                                   //赋值为1.234567890123456789

字符型(char):用来表示单个字符,如’a’,'B’,'9’等。

字符型占用1个字节,可以表示256个不同的字符。

字符型也可以分为有符号(signed)和无符号(unsigned),有符号的字符型可以表示-128到127的字符,无符号的字符型可以表示0到255的字符。

字符型可以用单引号(’)或双引号(')来表示,但是单引号表示的是字符常量,双引号表示的是字符串常量,它们是不同的数据类型。

例如:

char ch1 = 'a'; // 定义一个字符型变量ch1,赋值为'a'char ch2 = 'b'; // 定义一个字符型变量ch2,赋值为'b',这是错误的,应该用单引号char ch3 = 65; // 定义一个字符型变量ch3,赋值为65,这是正确的,65对应的字符是'A'

枚举(enum):用来表示一组有名字的常量,如enum color,表示一个包含红色、绿色、蓝色等颜色的枚举。

枚举的元素可以通过名字来访问,如RED,表示枚举color的RED元素。枚举的长度取决于它的元素的个数,不能动态改变。枚举的元素默认从0开始赋值,也可以自定义赋值,如enum color {RED = 1, GREEN, BLUE},表示RED的值为1,GREEN的值为2,BLUE的值为3。枚举可以定义指向枚举的指针,如enum color *w,表示一个指向枚举color的指针。

例如:

enum color{  RED, // 定义一个枚举元素RED,值为0  GREEN, // 定义一个枚举元素GREEN,值为1  BLUE // 定义一个枚举元素BLUE,值为2}enum color c = RED; // 定义一个枚举变量c,赋值为REDenum color *w = &c; // 定义一个指向枚举的指针w,赋值为c的地址

结构类型结构体(struct):

用来表示一组不同类型的数据,如struct student,表示一个包含学生的姓名、年龄、成绩等信息的结构体。结构体的元素可以通过点(.)来访问,如s.name,表示结构体s的name元素。结构体的长度取决于它的元素的类型和个数,可以动态改变。结构体可以嵌套定义,也可以定义指向结构体的指针,如struct student *t,表示一个指向结构体student的指针。例如:

struct student{char name[20];// 定义一个字符型数组name,用来存储学生的姓名int age; // 定义一个整型变量age,用来存储学生的年龄float score;// 定义一个浮点型变量score,用来存储学生的成绩}struct student s = {“Alice”, 18, 90.5};// 定义一个结构体变量s,赋值为'Alice', 18, 90.5struct student *t = &s;// 定义一个指向结构体的指针t,赋值为s的地址

指针类型

数组(array):用来表示一组相同类型的数据,如int a[10],表示一个包含10个整型元素的数组。数组的元素可以通过下标(从0开始)来访问,如a[0],表示数组a的第一个元素。数组的长度必须在定义时确定,不能动态改变。数组可以是一维的,也可以是多维的,如int b[3][4],表示一个包含3行4列的二维整型数组。

例如:

int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // 定义一个一维整型数组a,赋值为1到10int b[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}; // 定义一个二维整型数组b,赋值为1到12int c[2][3][4]; // 定义一个三维整型数组c,没有赋值

指针(pointer):用来表示一个变量或常量的地址,如int p,表示一个指向整型的指针。

指针可以用来间接访问或修改变量或常量的值,如p,表示指针p所指向的变量或常量的值。指针的值必须是一个有效的地址,不能是一个随机的数。指针可以指向基本数据类型,也可以指向派生数据类型,

例如:

int *p =&a[0];// 定义一个指向整型的指针p,赋值为数组a的第一个元素的地址char *q =“Hello”;// 定义一个指向字符型的指针q,赋值为字符串常量'Hello'的地址int **r =&p;// 定义一个指向指针的指针r,赋值为指针p的地址

空类型

空类型的关键字是void,主要用于对函数返回值和函数参数进行限定。函数一般具有一个返回值(返给调用者),这个返回值应该具有特定的类型,如整型int。当函数不需要返回值时,就可以使用空类型进行设定。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多