C语言基础 13 枚举

来源:互联网 发布:gson解析json数组 编辑:程序博客网 时间:2024/05/21 15:05

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

 

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

的几个整数

 

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

 

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

 

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

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

 

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

 

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

 

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

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

 

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

 

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

 

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

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

 

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

 

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

 

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

 

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

 

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

 

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

 

C语言里函数也有地址

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

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

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

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

 

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

 

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

 

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

 

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

 

这种分配方法叫动态分配

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

 

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

 

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

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

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

如果分配失败就返回NULL

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

 

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

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

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

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

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

 

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

原创粉丝点击