0
uint8_t * const LCDMem = (uint8_t *) &LCDM3;

此代码在 msp430fg4618 培训套件中用于 lcd 配置。谁能解释一下上述代码的含义?

它允许使用array LCDMem[]? 我不知道怎么做。

4

2 回答 2

3

LCDMem 不是数组,它是一个指针。此代码为 LCDMem 分配新地址 - LCDM3,因此执行后 LCDMem 将指向 LCDM3。不能说为 LCDM3 分配了多少字节,可能是数组,可能只是一个。

于 2012-11-03T08:21:41.887 回答
2

该运算符(type) value称为强制转换并实现从一种类型到另一种类型的转换。

您示例中的代码将一个指针(的地址)转换LCDM3为另一种类型的指针。LCDM3这允许通过指针访问 的内容,LCDMem就好像它是一个连续的字节数组(8 位无符号整数)。

例如,LDCM3可以是结构对象,或结构数组的第一个元素。上述转换将允许人们读取和写入底层对象的各个字节。

于 2012-11-03T08:20:00.700 回答