C Control PRO UNIT MEGA 32 198206 사용자 설명서

제품 코드
198206
다운로드
페이지 134
48
Compiler
© 2005 Conrad Electronic
y=
2.3e
+
2
;
x=-
5.33e
-
1
;
sizeof Operator
Mit dem Operator sizeof() kann die Anzahl der Bytes bestimmt werden die eine Variable im
Speicher belegt.
Beispiel:
int s;
float f:
s=sizeof(f);  
// der Wert von s ist 4
  Bei Arrays wird auch nur die Bytelänge des Grunddatentyps zurückgegeben.
Man muß den Wert mit der Anzahl der Elemente multiplizieren um den
Speicherverbrauch des Arrays zu berechnen.
Array Variablen
Wenn man hinter den Namen bei der Variablendefinition in eckigen Klammern einen Zahlenwert
schreibt so hat man ein Array definiert. Ein Array legt den Platz für die definierte Variable
mehrfach im Speicher an. Bei der Beispieldefinition:
int x[
10
];
Wird für die Variable x der 10-fache Speicherplatz angelegt. Den ersten Speicherplatz kann man
mit 
X[
0
]
 ansprechen, den zweiten mit 
x[
1
]
, den dritten mit 
x[
2
]
, ... bis 
x[
9
]
. Man darf bei der
Definition natürlich auch andere Indexgrößen wählen. Die Limitierung ist nur der RAM
Speicherplatz des C-Control Pro.
Man kann auch mehrdimensionale Arrays deklarieren, in dem weitere eckige Klammern bei der
Variablendefinition angefügt werden:
int x[
3
][
4
];      
// Array mit 3*4 Einträgen
int y[
2
][
2
][
2
];  
// Array mit 2*2*2 Einträgen
  
Arrays dürfen in CompactC bis zu 
16
 Indizes (Dimensionen) haben. Der Maximalwert für
einen Index ist 
65535
. Die Indizes der Arrays sind immer nullbasiert, d.h. jeder Index beginnt mit
0
.
  Es findet während des Programmlaufs keine Überprüfung statt, ob die definierte Indexgrenze
eines Arrays überschritten wurde. Wird der Index während der Programmabarbeitung zu groß,
wird auf fremde Variablen zugegriffen und die Chance ist groß das das Programm "abstürzt".
Strings
Es existiert kein expliziter "String" Datentyp. Ein String basiert auf einem Array vom Datentyp
char. Man muß die Größe des Arrays so wählen das alle Zeichen des Strings in das character
Array passen. Zusätzlich wird Platz für ein Terminierungszeichen (dezimal Null) benötigt, um das
Ende der Zeichenkette anzuzeigen.
Beispiel für eine Zeichenkette mit maximal 20 Zeichen: