title: What is (uint32_t*)?
body: <p>I am new to C.
  I don't understand how to solve the last two lines of the following code, can you explain it?
  thank you very much.</p>
  
  <p><strong>pBuffcmd = (uint32_t*)&amp;CmdBuffer[CmdBuffer_Index];
          *pBuffcmd = cmd;</strong></p>
  
  <pre><code>#DL_SIZE                  (8*1024L)
  #define CMD_FIFO_SIZE     (4*1024L)
  #define CMD_SIZE          (4)/
  
  uint32_t CmdBuffer_Index;
  volatile uint32_t DlBuffer_Index;
  
  uint8_t  DlBuffer[DL_SIZE];
  uint8_t  CmdBuffer[CMD_FIFO_SIZE];
  
  void App_WrCoCmd_Buffer(Gpu_Hal_Context_t *phost,uint32_t cmd)
  {
  #ifdef  BUFFER_OPTIMIZATION
  
      uint32_t *pBuffcmd;
  
      if (CmdBuffer_Index &gt;= CMD_FIFO_SIZE) 
      {
          if (CmdBuffer_Index &gt; 0) {
              NOP;
          }
          CmdBuffer_Index = 0;
      }
      pBuffcmd = (uint32_t*)&amp;CmdBuffer[CmdBuffer_Index];
      *pBuffcmd = cmd;
  </code></pre>