C Control PRO Unit Mega 128 198219 User Manual

Product codes
198219
Page of 429
204
Compiler
© 2013 Conrad Electronic
single_str=
"A String"
' kopiert single_str in den zweiten String von str_array
Str_StrCopy(str_array,single_str,
40
)
Dies  funktioniert,  da mit  einem Abstand von  40  Zeichen  hinter  dem  ersten  String,  in  str_array  der
Platz für den zweiten String liegt.
Sichtbarkeit von Variablen
Werden Variablen außerhalb von Funktionen deklariert  so haben sie eine globale Sichtbarkeit.  Das
heißt,  man kann sie aus  jeder Funktion ansprechen.  Variablendeklarationen innerhalb  von  Funktio-
nen erzeugen lokale Variablen. Lokale Variablen sind nur innerhalb der Funktion erreichbar.  Ein Bei-
spiel:
Dim a,b As Integer
Sub func1()
    Dim a,x,y As Integer
    
' globale b ist zugreifbar
    
' globale a ist nicht zugreifbar da durch lokale a verdeckt
    
' lokale x,y sind zugreifbar
    
' u ist nicht zugreifbar da lokal zu Funktion main
End Sub
Sub main()
    Dim u As Integer
    
' globale a,b sind zugreifbar
    
' lokale u ist zugreifbar
    
' x,y nicht zugreifbar da lokal zu Funktion func1
End Sub
Globale Variablen haben einen definierten Speicherbereich,  der während des  gesamten  Programm-
laufs zur Verfügung steht. 
 Bei Programmstart werden die globalen Variablen mit null initialisiert.  Lokale Variablen dagegen,
sind beim Start der Funktion nicht initialisiert und können beliebige Werte haben!
Lokale  Variablen  werden,  während  der  Berechnung  einer  Funktion,  auf  dem  Stack  angelegt.  Das
heißt, lokale Variablen existieren im Speicher nur während des  Zeitraums,  in der die Funktion abge-
arbeitet wird.
Wird bei lokalen Variablen der gleiche Name gewählt wie bei einer globalen Variable, so verdeckt  die
lokale Variable die globale Variable. Solange sich das Programm dann in der Funktion aufhält wo die
namensgleiche lokale Variable definiert wurde, ist die globale Variable nicht ansprechbar.
Static Variablen
Man kann bei lokalen Variablen die Eigenschaft Static für den Datentyp setzen.