uint8_t * const LCDMem = (uint8_t *) &LCDM3;
此代码在 msp430fg4618 培训套件中用于 lcd 配置。谁能解释一下上述代码的含义?
它允许使用array LCDMem[]
? 我不知道怎么做。
LCDMem 不是数组,它是一个指针。此代码为 LCDMem 分配新地址 - LCDM3,因此执行后 LCDMem 将指向 LCDM3。不能说为 LCDM3 分配了多少字节,可能是数组,可能只是一个。
该运算符(type) value
称为强制转换并实现从一种类型到另一种类型的转换。
您示例中的代码将一个指针(的地址)转换LCDM3
为另一种类型的指针。LCDM3
这允许通过指针访问 的内容,LCDMem
就好像它是一个连续的字节数组(8 位无符号整数)。
例如,LDCM3
可以是结构对象,或结构数组的第一个元素。上述转换将允许人们读取和写入底层对象的各个字节。