Hi
Ok, nun setze ich den Wert in der Klammer auf die Zeichen-Nummer * 5.
Aber es sieht so aus, daß das Array weg-optimiert wird - hatte ja oben schon angedeutet, daß sich die PRogrammgröße beim Kompilieren nicht ändert, egal wie viele Zeichen ich per const angelegt habe.
Einzig das erste Zeichen, das Ausrufezeichen, ist vorhanden.
Das 2.te Zeichen, Anführungszeichen/Gänsefüßchen/DoppelHochkomma wird als "*** *" ausgegeben, Was ich so nicht in der Definition wieder finde - auch wird nur eine Zeile (die Unterste des Zeichen) so gesetzt, der Rest bleibt leer.
Der Versuch, einfach das Array von _AUSRUF[(233-33)*5] aufzublasen ließ zwar das Programm größer werden
5798 Byte Programmspeicher und 839 Byte dynamischer Speicher
zu
5354 Byte Programmspeicher und 395 Byte dynamischer Speicher
Aber zusätzliche Zeichen kamen nicht bei raus.
Hey, das Forum gefällt mir - gerade der Rechner abgeschmiert und der Post ist noch vorhanden ![]()
Zu Referenzierung - Das soll doch wohl der & und * Vorsatz bewirken (wobei mir der Unterschied zwischen * und & noch suspekt ist).
Zeigerarithmetik werde ich mir Mal zu Gemüte führen, befürchte aber, daß Das im Arduino-Umfeld, der englischen Sprache wegen, wieder anders heißt.
... in 286er Assembler brauchte man 'nur' das Register in eckige Klammern packen und schon wurde die Speicherstelle der Nummer des Register, statt des Register benutzt - und hier optimiert mir der Compiler meine Tabelle weg.
Wie nennt sich das Stichwort, daß der Compiler die Arrays in Ruhe (und in dieser Reihenfolge) lässt?
MfG