C语言基础 13 枚举

本文介绍了C语言中的枚举类型,强调了枚举类型存储区的特点和声明方式。同时,讲解了联合类型及其成员变量的存储特性。接着,文章讨论了二级指针的概念和用途。最后,文章详细阐述了动态内存分配,包括malloc函数的使用、动态内存释放以及free函数的应用。

枚举也可以用来创建新的数据类型

 

枚举类型存储区就是整数类型存储区,枚举类型存储区在使用的时候只能存放有限

的几个整数

 

声明枚举类型的时候需要提供一组名称,计算机为每个名称分配一个对应的整数,只有这些整数可以记录在这种枚举类型的存储区里

 

不同枚举类型存储区里可以记录的整数范围不同

 

声明枚举类型的时候应该使用enum关键字

计算机把从0开始的连续非负整数分配给枚举类型中的所有名称

 

可以在声明枚举类型时指定某个名称对应的整数,后面名称对应的整数都会随之变化

 

联合也可以用来创建新的数据类型

 

声明联合的时候需要使用union关键字

联合的成员变量对应的存储区互相重叠,联合存储区可以当作多种不同类型的存储区使用,每个成员变量代表一种可能的类型

 

联合的所有成员变量存储区的开始地址一样

 

联合存储区的大小是最大成员变量存储区的大小

 

记录普通变量地址的指针叫一级指针

记录一级指针地址的指针叫做二级指针

 

声明二级指针的时候需要写两个*

 

二级指针前使用**可以表示捆绑的普通变量存储区

 

二级指针前使用*可以表示捆绑的一级指针存储区

 

二级指针可以用来代表指针数组,但是不可以代表二维数组

 

无类型指针有可能实际上代表的是二级指针

 

二级指针通常作为形式参数使用,它可以从调用函数向被调用函数传递一个一级指针存储区

 

C语言里函数也有地址

函数名称可以表示函数的地址

函数指针可以用来记录函数的地址

函数指针也需要先声明然后才能使用

函数指针声明语句可以根据函数声明语句变化得到

 

函数指针也有格式区分,不同格式的函数指针适合与不同的函数捆绑

 

函数指针可以用来调用函数

 

可以作为实际参数使用的函数叫回调函数

 

可以在程序运行的时候临时决定需要分配多少存储区

 

这种分配方法叫动态分配

为了使用动态分配内存需要用到一组标准函数

 

为了使用这些标准函数需要包含stdlib.h头文件

 

malloc函数可以动态分配一组连续的字节

这个函数需要一个整数类型参数表示希望分配的字节个数

他的返回值就是分配好的第一个字节的地址

如果分配失败就返回NULL

这个函数的返回值记录在无类型指针的存储区里,需要首先强制类型转换成有类型指针然后才能使用

 

动态分配内存不使用之后必须释放

free标准函数可以用来释放动态分配内存

free函数需要一个参数,这个参数代表动态 分配的第一个字节的地址

free函数会把一次分配的所有内存都释放掉

如果使用指针作为参数调用free函数则函数调用后指针成为野指针,必须恢复成空指针

 

调用函数可以使用被调用函数动态分配的内存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值