Anstatt
Code:
long nextfree = (unsigned long)smptr[NEXTFREE];
Meinst du vielleicht
Code:
unsigned long nextfree = *((unsigned long *)&smptr[NEXTFREE]);
(Adresse per Char-Array-Index auf ULong-Pointer casten und dereferenzieren)
oder
Code:
unsigned long nextfree = ((unsigned long *)smptr)[NEXTFREE];
(Char-Pointer auf ULong-Pointer casten und per ULong-Index zugreifen)?