Serial - Is possible to put a received data in an array of char ?

retry

int incomingByte = 0;   // for incoming serial data
int x = 0;
bool moreData = true;
char incomingArray[128];

void setup()
{
  Serial.begin(9600);  
}

void loop()
{
  if (moreData)
  { 
    if (Serial.available()>0)
    {
      incomingArray[x] = Serial.read();

      incomingArray[x+1] = '\0'; // keep string closed with \0

      if (incomingArray[x] == '\0'  || x == 127 )  // how to send a 0 char ?  + added test array full !
      { 
        moreData = false;
        x = 0;
      }
      else 
      {
        x++;
      }
    }  
  } 
  else // no moreData
  {
      Serial.println(incomingArray);
      incomingArray[0] = '\0';
      moreData=true;
  } 
}