Writting a Hexadecimal with the mfrc522

Hi I just can't figure out how to wrap up my code because I am missing the vocabulary.
Instead of printing the UID on the serial I want it to be stored in the variable I set earlier. Can anyone help?

#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN         9           
#define SS_PIN          10          
#define UID {0xDE, 0xAB, 0xFF, 0x3B}

MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance

void setup() {
  Serial.begin(9600);        // Initialize serial communications with the PC
  SPI.begin();               // Init SPI bus
  mfrc522.PCD_Init();        // Init MFRC522 card
  Serial.println(F("Write personal data on a MIFARE PICC "));
}




void loop() {

  // Prepare key - all keys are set to FFFFFFFFFFFFh at chip delivery from the factory.
  MFRC522::MIFARE_Key key;
  for (byte i = 0; i < 6; i++) key.keyByte[i] = 0xFF;

  // Look for new cards
   if ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() ) {
    delay(50);
    return;
  }
  //####################################read and copy the uid#################################################
  Serial.print(F("Card UID:"));    
  for (byte i = 0; i < mfrc522.uid.size; i++) {
    Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
    Serial.print(mfrc522.uid.uidByte[i], HEX);
  }
  delay(1000);
  Serial.println('\n');

  Serial.println(UID);
}

I dont even know if println(UID) is correctly put..

PLz_hilp:
I dont even know if println(UID) is correctly put..

1. Serial.println(UID); is composed of:

Serial.print(UID);
Serial.println();           //this line brings the cursor at the next new line position

2. print() method always presents human friendly text message (as a series of English Language characters.

3. Using this directive: #define, you can represent a numerical value/expression by a symbolic name; but, the expression must be evaluated to a numerical value; For example:

#define UID (1+3)
#define UID {0xDE, 0xAB, 0xFF, 0x3B}   //It is not valid as the expression can't be evaluated to a value

4. You can do the following:

byte UID[] = {0xDE, 0xAB, 0xFF, 0x3B}; //data type is byte because the array elements are in binary
for(int i=0; i<sizeof(UID); i++)
{
   Serial.print(UID[i], HEX); //shows: DE AB FF 3B
   Serial.print(" ");
}

5. You can also do the following:

char myData [] = {0x31, 0x32, 0x33, 0x34, 0x00}; //data type is char because the array elements are in ASCII 
Serial.print(myData); //shows: 1234