枚举 回调函数 位域 共用体 数组函数传递

一、数据类型

1、基本类型

2、枚举类型

算数类型,被用来定义在程序中只能赋予其一定的离散整数的值。

//定义
enum 枚举名称{
    枚举元素1;
    枚举元素2;
    ...
};
//自增 初始第一个为0,若未赋值则自增,赋值则从赋值的元素开始自增
enum DAY{
    MON=1;TUE;WED,THU,FRI,SAI,SUN
};
enum DAY day;
//强制类型转换
int a=1;
day = (enum day) a;

3、void类型

4、派生类型

😊指针类型、
回调函数:函数指针作为某个函数的参数
void Function(int *arrary,int n,int (*function)(void)){
    //do something
    array=function();//函数返回值赋值给array
}
😊数组类型、
传递数组给函数
//方式1
void Function(int *param){
    //do what you want
}
//方式2
void Function(int param[10]){
    //do what you want
}
//方式3
void Function(int param[]){
    //do what you want
}
函数返回给数组
int *function(){
    //do what you want
    return array;
}
指向数组的指针
int *p;
int array[10];
p=array;
😊结构类型
位域:结构体中定义占用几位的变量
//定义
struct
{
  unsigned int a : 1;//一般只能使用unsigned int
  unsigned int b : 1;
} status;
//一个位域存储在同一个字节中,如一个字节所剩空间不够存放另一位域时,则会从下一单元起存放该位域。也可以有意使某位域从下一单元开始
struct bs{
    unsigned a:4;
    unsigned  :4;    /* 空域 不能使用(只是用来填充和调整)*/
    //a和后面空域占一个字节
    unsigned b:4;    /* 从下一单元开始存放 */
    unsigned c:4
}

😊共用体类型
共用体:在相同的内存位置存储不同的数据类型,定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。共用体提供了一种使用相同的内存位置的有效方式
//定义
union 共用体名称1{
    elementtype member1;
    ...
}共用体名称2;

union Data{
    int i;
    float f;
};
union Data data;
//data.i和data.f 只能有一个有效。都赋值会发生错误。
😊函数类型
C语言中的共用体(Union)和位域(Bit-Field)是用来优化内存使用和灵活操作数据的工具。 共用体是一种特殊的数据类型,它允许不同的变量共享同一块内存空间。共用体中的成员变量共享同一内存,占用内存大小等于最大成员的大小。通过修改共用体的一个成员变量的值,可以影响到其他成员变量的值。共用体适用于在不同的数据类型之间进行转换或者存储占用内存大小不定的数据。 位域是一种特殊的结构体成员变量,可以指定成员变量占用的位数,从而实现对内存空间的灵活利用。位域的成员变量必须是整型数据类型,并且位域的大小不能超过该整型类型的大小。位域可以用于减小数据结构占用的内存大小,以及进行数据的位操作。 共用体位域结构体可以一起使用。通过在位域结构体中定义共用体成员变量,可以实现对内存的灵活使用和数据的高效操作。共用体可以用于存储不同类型的数据,而位域可以用于压缩数据的存储空间。这种结合使用的方式可以为我们的程序带来更加高效和节省内存的特点。 总结起来,C语言中的共用体位域结构体提供了一种优化内存使用和操作数据的方式。它们可以灵活地对内存空间进行利用,并且能够高效地操作数据。通过合理的使用共用体位域结构体,我们可以达到节省内存和提高程序执行效率的目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值