mit "unsigned int data[2];" initialisierst du einen sogenannten array, das sind zwei von diesen unsigned-int-datentypen gleich hintereinander folgend.
Die kann man jetzt allle einzeln mit der zahl in den eckigen Klammern ansprechen.

In deinem Fall initialisierst du mit "unsigned int data[2]" also zwei stück unsigned int.
Da der Computer bei 0 zu zählen anfängt kannst du auf das erste int mit
"data[0]" zugreifen, auf das zweite mit
"data[1]"

Beispiel:
Code:
while(1)
 {
  unsigned int data[2];  //Initialisiert zwei Int-werte hintereinander
  LineData(data);         //Übergibt der Funktion den "data"-array, die schreibt             
                          //dann in die zwei int-felder jeweils den linken und rechten Wert.
                          //Die eckigen Klammern brauchst du hier nicht

  PrintInt(data[0]);      //den wert von data[0] ausgeben, also von links
  PrintInt(data[1]);      //den Wert von data[1] ausgeben, also rechts
 }