IIC_DATATypeDef IIC_Handle_Struct[IIC_Handle_Num];和IIC_DATATypeDef *IIC_Handle_Struct[IIC_Handle_Num];有什么区别 从占用内存空间来看
时间: 2024-06-18 18:06:12 浏览: 61
数据库结构比较工具,可以比较两个数据库的表,存储过程,表字段等的差别
4星 · 用户满意度95%
这两个变量的主要区别在于它们所占用的内存空间不同。
首先,IIC_Handle_Struct是一个数组,每个元素都是IIC_DATATypeDef类型的结构体变量。而IIC_Handle_Struct数组本身的类型是IIC_DATATypeDef[IIC_Handle_Num],其中IIC_Handle_Num是数组元素的个数。
其次,IIC_Handle_Struct数组中的每个元素都是实际的结构体变量,因此在内存中,IIC_Handle_Struct数组所占用的空间大小是IIC_Handle_Num乘以IIC_DATATypeDef结构体的大小。
相反,IIC_Handle_Struct指针数组中的每个元素都是一个指向IIC_DATATypeDef类型结构体的指针。因此,在内存中,IIC_Handle_Struct指针数组本身所占用的空间大小是IIC_Handle_Num乘以指针的大小(通常为4或8字节),而每个指针所指向的结构体变量则单独占用一定的内存空间。
因此,从占用内存空间来看,IIC_Handle_Struct数组所占用的空间大小通常比IIC_Handle_Struct指针数组所占用的空间大小大。但是,如果需要动态地创建和销毁结构体变量,使用指针数组可能更为方便。
阅读全文