簡體   English   中英

C中*((uint32_t *)&..)的含義

[英]Meaning of *((uint32_t*)&..) in C

LPC_CAN1->TDA1 = *(uint32_t *) &msg->data[0];    // Write first 4 data bytes 

請告訴我為什么使用*(uint32_t ,以及在uint32_t之前和之后使用此“的目的是什么

該代碼的目標是將msg->data[0]出現的前4個字節復制到LPC_CAN1->TDA1

&msg->data[0]給出&msg->data[0]的地址。

(uint32_t *) &msg->data[0]將該地址強制轉換為指向32位無符號整數的地址。

*(uint32_t *) &msg->data[0]從地址中讀取uint32_t值(4字節無符號整數)。

希望有道理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM