首页 > 解决方案 > 将 sizeof 与具有固定长度数组的结构一起使用

问题描述

当结构具有固定长度的数组时,使用 sizeof(struct) 是一种好的编码习惯吗?

#define NUM_TRACKS 10
#define NUM_SAMPLES 250
typedef struct _DATA_PROC
{
    uint16_t count[NUM_TRACKS] ;
    int16_t data[NUM_TRACKS][NUM_SAMPLES];
} tDataProcessing ;



tDataProcessing* tDp = malloc(sizeof(tDataProcessing)) ;

标签: carraysstructsizeof

解决方案


我个人更喜欢使用指针变量本身而不是类型:

tDataProcessing *tDp = malloc(sizeof *tDp);

在指针埋在类型等中的情况下,这有时会更清楚。


推荐阅读