Hey, angenommen ich habe einen struct über Arrays:
Nun möchte ich diesen Point mit ".Y = {1}" initialisieren.
D,h, ich möchte tatsächlich:
mit self.Y = {1} haben. Geht das ohne for-Schleife?
MWE
Das klappt soweit. Nur kann ich nun nicht mehr, wie vorher, "ElPoint P,Q,R,...;" nutzen. (was aber echt das geringere Übel ist) Falls jemand einen besseren Weg hat, würde ich mich freuen
Nächstes Hindernis:
Angenommen ich möchte ein Struct Parent initialisieren und mit Werten füttern. Dafür würde ich ja eine Funktion anbieten. Sagen wir mal: InitPoint. Mit obiger "#define" Version, klappt das natürlich nicht.
Code:
struct Point {
uint32_t X[11];
uint32_t Y[11];
}
Nun möchte ich diesen Point mit ".Y = {1}" initialisieren.
D,h, ich möchte tatsächlich:
Code:
typedef struct Point SetPoint;
MWE
Code:
#include <stdio.h>
#include <stdint.h>
typedef uint32_t arr[11];
struct Point {
arr X;
arr Y;
};
typedef struct Point ElPoint;
#define SetPoint(P) ElPoint P = { .X= {0}, .Y={1} }
int main()
{
SetPoint(P);
for(uint8_t i=0; i<11; i++){
printf("%08X ", P.Y[i]);
}
printf("\n");
return 0;
}
Das klappt soweit. Nur kann ich nun nicht mehr, wie vorher, "ElPoint P,Q,R,...;" nutzen. (was aber echt das geringere Übel ist) Falls jemand einen besseren Weg hat, würde ich mich freuen
Nächstes Hindernis:
Angenommen ich möchte ein Struct Parent initialisieren und mit Werten füttern. Dafür würde ich ja eine Funktion anbieten. Sagen wir mal: InitPoint. Mit obiger "#define" Version, klappt das natürlich nicht.
Zuletzt bearbeitet: