geistgesicht
Mitglied
Hallo,
ich habe ein Problem und würde mich über jede Hinweis von euch freuen. Ich möchte eine Funktion schreiben, die einen Pointer auf einen Wert bekommt und dann diesen Wert mit den Werten eines Arrays vergleicht. Die Elemente des Arrays sollen wiederum Strukturen sein, die ein Float-Element haben und ein Integer-Element:
Das Problem ist nun, dass ich der Funktion gerne Pointer auf unterschiedliche Datentypen übergeben würde (entweder Float oder Integer) und je nach Datentyp des Pointers entweder den Integer-Teil der Strukur verwende oder den Float-Teil:
Der Datentyp des pointers soll zur Laufzeit allerdings feststehen, also nur vor dem Kompilieren variabel sein (vielleicht kann man ja den Präprozessor verwenden?)! Des weiteren sollte das, wenn möglich in reinem C geschrieben werden und nicht C++.
Vielen Dank für jeden Hinweis!!
ich habe ein Problem und würde mich über jede Hinweis von euch freuen. Ich möchte eine Funktion schreiben, die einen Pointer auf einen Wert bekommt und dann diesen Wert mit den Werten eines Arrays vergleicht. Die Elemente des Arrays sollen wiederum Strukturen sein, die ein Float-Element haben und ein Integer-Element:
PHP:
typedef struct {
int aa;
float bb;
} myStruct;
Das Problem ist nun, dass ich der Funktion gerne Pointer auf unterschiedliche Datentypen übergeben würde (entweder Float oder Integer) und je nach Datentyp des Pointers entweder den Integer-Teil der Strukur verwende oder den Float-Teil:
PHP:
myQuery(int/float * pointer)
// wenn pointer-Typ int
if(myStruct[0].aa > *pointer) .. do something with myStruct[0].aa
// bzw wenn pointer-Typ float
if(myStruct[0].bb > *pointer) .. do something myStruct[0].bb
Der Datentyp des pointers soll zur Laufzeit allerdings feststehen, also nur vor dem Kompilieren variabel sein (vielleicht kann man ja den Präprozessor verwenden?)! Des weiteren sollte das, wenn möglich in reinem C geschrieben werden und nicht C++.
Vielen Dank für jeden Hinweis!!