Forum: Mikrocontroller und Digitale Elektronik Globale variable aus eine Funktion heraus


von Thomas (Gast)


Lesenswert?

Hallo,

kann man in einer Funktion eine globale Variable erzeugen die somit dann 
für alle anderen Funktionen in dieser Datei gültig ist?
Wenn ja...wie?


Gruß

Thomas

von Karl H. (kbuchegg)


Lesenswert?

Thomas wrote:
> Hallo,
>
> kann man in einer Funktion eine globale Variable erzeugen die somit dann
> für alle anderen Funktionen in dieser Datei gültig ist?
> Wenn ja...wie?

Nein.
Das Konzept der Variablen existiert nur bei Hochsprachenprogrammierung
im Source Code. Sobald das Programm compiliert ist und abläuft
gibt es nur noch Speicher. Und an bestimmten Speicheradressen werden
Werte abgespeichert.

Was du aber (am Beispiel eines Arrays) machen kannst:
1
static uint16_t* pDaten;
2
3
void foo1()
4
{
5
  pDaten = malloc( 200 * sizeof( uint16_t ) );
6
}
7
8
void foo2()
9
{
10
  pDaten[0] = 2;
11
  pDaten[1] = 5;
12
}

Auf einem µC braucht man das aber eher selten, da die Datenmenge
meist im Vorraus bekannt ist.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.