How does the structure of a segwit block differ from a non-segwit block? Is there any difference in the structure of a segwit block in comparison to a traditional non-segwit block? A diagram would be helpful if possible.
A segwit block's coinbase transaction must contain an output with a commitment to the witness root hash, see BIP141.


  The commitment is recorded in a scriptPubKey of the coinbase transaction. It must be at least 38 bytes, with the first 6-byte of 0x6a24aa21a9ed, that is:


1-byte - OP_RETURN (0x6a)
   1-byte - Push the following 36 bytes (0x24)
   4-byte - Commitment header (0xaa21a9ed)
  32-byte - Commitment hash: Double-SHA256(witness root hash|witness reserved value)



  39th byte onwards: Optional data with no consensus meaning
  
  and the coinbase's input's witness must consist of a single 32-byte array for the witness reserved value.
  
  If there are more than one scriptPubKey matching the pattern, the one with highest output index is assumed to be the commitment. 


At the transaction level, a segwit transaction must set the witness flag to 0001, and provide the witnesses before the locktime. A non-segwit transaction contains neither of these properties.



See Bitcoin Wiki - Transaction