c - 将 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)) ;
解决方案
我个人更喜欢使用指针变量本身而不是类型:
tDataProcessing *tDp = malloc(sizeof *tDp);
在指针埋在类型等中的情况下,这有时会更清楚。
推荐阅读
- android - 如何调整图像大小以正确适合卡片视图
- assembly - 使用基本索引寻址模式将两个 16 位数字相加
- mysql - 用于实时 ETL 的 Apache Beam
- java - 如何在spring boot中发送请求之前检查端点的连接性
- c# - 如何在 Web api c# 中的 AsEnumerable 中按 id desc 设置顺序
- java - 智能投射到“CLASS!” 是不可能的,因为 'VARIABLE' 是一个可变属性,此时可能已更改
- pine-script - 如何在前一根蜡烛的“收盘价”设置“止损”?
- python - 计算常用词
- python - Django - ModuleNotFoundError:没有名为“alluth”的模块
- python - 如何使用redis高效存储分层数据?