IIC_DATATypeDef IIC_Handle_Struct[IIC_Handle_Num];和IIC_DATATypeDef *IIC_Handle_Struct[IIC_Handle_Num];有什么区别
时间: 2024-06-18 14:06:12 浏览: 90
iic_slave.7z
这两个表达式都是关于 I2C 总线控制的变量定义,不过它们的类型和含义略有不同。
第一个表达式 `IIC_DATATypeDef IIC_Handle_Struct[IIC_Handle_Num];` 定义了一个数组,数组元素类型为 `IIC_DATATypeDef`,数组大小为 `IIC_Handle_Num`。其中 `IIC_DATATypeDef` 应该是一个结构体类型,代表了 I2C 总线控制相关的数据类型。
第二个表达式 `IIC_DATATypeDef *IIC_Handle_Struct[IIC_Handle_Num];` 定义了一个指针数组,数组元素类型为 `IIC_DATATypeDef *`,即 `IIC_DATATypeDef` 类型的指针。数组大小为 `IIC_Handle_Num`。这里每个数组元素都是一个指向 `IIC_DATATypeDef` 类型对象的指针。
因此,这两个表达式的区别在于一个是数组,一个是指针数组。同时它们的元素类型也不完全相同,前者是结构体类型,后者是结构体类型的指针类型。根据具体场景和需要选择使用哪种方式来表示数据结构。
阅读全文