Ahh, ich glaub mir dämmerts so langsam. Du hast anscheinend ein Problem
mit der Syntax von Variablendeklarationen.
Zunächst mal: mit "typ name[n];" deklarierst Du ein Array von n
Komponenten des Typs "typ".
Vermutung: Was Du anscheinend willst, sind zwei Arrays mit jeweils zwei
Komponenten, von denen die eine Komponente des Arrays "ergebnis" die
High-Nibbles und die zweite die Low-Nibbles der Ausgangswerte enthalten
soll.
Du brauchst also zwei Arrays mit je zwei Komponenten:
u_char temp[2], ergebnis[2];
ergbnis[0] bekommt jetzt die High-Nibbles von temp[0] und temp[1]
zugewiesen:
ergebnis[0] = (temp[1] & 0xF0) | (temp[0] >> 4);
jetzt steht im High-Nibble von ergebnis[0] das High-Nibble von temp[1]
und im Low-Nibble von ergebnis[0] das High-Nibble von temp[0]. Wenn Du
das verstanden hast, sollte es kein Problem mehr für Dich sein, den
zweiten Teil selber zu programmieren...