uint8_t * const LCDMem = (uint8_t *) &LCDM3;
此代碼用於msp430fg4618教學工具包,用於LCD配置。 任何人都可以解釋上述代碼的含義嗎?uint8_t * const LCDMem =(uint8_t *)&LCDM3;含義
它允許使用array LCDMem[]
?我不知道如何。
uint8_t * const LCDMem = (uint8_t *) &LCDM3;
此代碼用於msp430fg4618教學工具包,用於LCD配置。 任何人都可以解釋上述代碼的含義嗎?uint8_t * const LCDMem =(uint8_t *)&LCDM3;含義
它允許使用array LCDMem[]
?我不知道如何。
運營商(type) value
被稱爲轉換並實現從一種類型到另一種類型的轉換。
您示例中的代碼將一個指針(地址LCDM3
)投射到不同類型的指針。這使得能夠通過LCDMem
指針訪問LCDM3
的內容,就好像它是一個連續的字節數組(8位無符號整數)。
例如,LDCM3
可能是一個結構對象,或者是結構數組的第一個元素。上面的轉換將允許讀取和寫入基礎對象的各個字節。
LCDMem不是arrray,它是一個指針。此代碼分配給LCDMem新地址 - LCDM3,因此執行後LCDMem將指向LCDM3。不能說爲LCDM3分配了多少字節,可能是陣列,可能只是一個。
謝謝。我是一個初學嵌入式c編程,能否詳細介紹一下這方面,還可以指導我在哪裏開始學習嵌入式c。 – pristal
@pristal因爲我不熟悉msp430fg4618的具體細節,所以沒有更多的上下文很難做到這一點。我可以推薦的是拿起一本關於C的好書,比如經典的「C語言程序設計語言」,這是一個令人驚訝的愉快和初學者友好的閱讀。 – user4815162342