uint8_t * const LCDMem =(uint8_t *)& LCDM3;含义

时间:2012-11-03 08:15:17

标签: c embedded msp430

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

此代码用于msp430fg4618培训套件,用于lcd配置。 请问任何人解释上述代码的含义吗?

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

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

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

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