structs direkt Werte zuordnen, c++

Gast #1426328
Lesenswert?

Hallo...

Möchte direkt am Anfang der Definition einer Struktur Werte zuweisen.

Bsp:


typedef struct{
int x=0;
}x;


leider schreibt mir der avr gcc compiler: expected: ':', etc before '=' 
token, vom C programmieren weiß ich dass beim int Datentyp irgendwelche 
Zahlen drinnenstehen, die gerade im RAM draufsind. Wie ist das nun bei 
einer Struktur bzw. beim avr?

salve
#1426431
Lesenswert?

Du musst unterscheiden zwischen dem Definieren einer Struktur, als dem 
Erzeugen der Blaupause welche beschreibt wie eine Struktur grundsätzlich 
aussieht und dem erzeugen einer Variablen, die genau diese Gestalt hat. 
Die struct selbst, also die Blaupause, kannst du nicht initialisieren. 
Die ist ja nur eine Aufbauanleitung.
Wohl aber kann man eine Variable initialisieren
1
struct abc
2
{
3
  int x;
4
  int y;
5
};

das definiert die Struktur struct abc. Damit hat man noch keine 
Variable. Die Variable erzeugt man erst danach.
1
struct abc dieVariable = { 8, 5 };
Gast #1432903
Lesenswert?

1
struct abc { int x, y; } var = {1,2};

so meinst du das wohl, cler... aber das sind zwei schritte so wie int x 
= 1;
die einzige möglichkeit den speicherbereich direkt beim deklarieren der 
variablen (klasse, oder auch struct-krüppel-klasse (lol)) zu 
initialisieren besteht in der initialisierungsliste (auf den niedrigeren 
ebenen wird sich wahrscheinlich nichts ändern). oder falls du es so 
meinst, dass x in jeder instanz der struktur x den gleichen wert haben 
soll, dann musst du es static deklarieren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren