www.mikrocontroller.net

Forum: Compiler & IDEs variablen durchnummerieren


Autor: flyingwolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi.
Eine Frage an die Spezialisten .
Gibt es die Möglichkeit in C Variablen durchzunummerieren und dann mit 
einer Zählervariablen anzusprechen?

Also z.B.
int wert1, wert2, wert3, wert4;
int zaehler;

for(;zaehler <= 4;zaehler++)
{
wert?zaehler? = messwert;
}

Wenn ja, wie?

Autor: Sehrwitzig ⌂⌂ (sehrwitzig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klar... nennt sich Array:
int wert[4];
int zaehler;

for(zaehler=1;zaehler <= 4;zaehler++)
{
wert[zaehler] = messwert;
}
Du warst also schon nah dran...

Autor: Christoph __ (chris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehrwitzig ⌂⌂ wrote:
> int wert[4];
> int zaehler;
> 
> for(zaehler=1;zaehler <= 4;zaehler++)
> {
> wert[zaehler] = messwert;
> } 
> Du warst also schon nah dran...

Knapp daneben ist auch vorbei. Du zählst eins zu weit und überspringst 
dafür das erste Element. Das muss eher so aussehen:
int wert[4];
int zaehler;

for(zaehler = 0; zaehler < 4; ++zaehler) {
  wert[zaehler] = messwert;
}

Autor: Sehrwitzig ⌂⌂ (sehrwitzig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christoph __ wrote:
> Knapp daneben ist auch vorbei. Du zählst eins zu weit und überspringst
> dafür das erste Element. Das muss eher so aussehen:
>
>
int wert[4];
> int zaehler;
> 
> for(zaehler = 0; zaehler < 4; ++zaehler) {
>   wert[zaehler] = messwert;
> }

Nicht ganz... schau Dir mal seinen Quellcode genauer an. Er zählt bis 4. 
Man kann nur nicht so genau sagen wo er anfängt... aber die Variablen 
sind zumindest von 1 bis 4 durchnumeriert. Du zählst von 0 bis 3 ;-)

Aber einen Fehler hab ich doch drin: für einen Index von 4 braucht das 
Array 5 Elemente, also eher so: int wert[5];

Naja, eh' wurscht

Edit:
ich ziehe meine Aussage zurück: hab Dein "++zaehler" übersehen...

Aber dann machen wir im Prinzip genau das gleiche - mit dem gleichen 
Fehler ;-)

Autor: flyingwolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey danke.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehrwitzig ⌂⌂ wrote:
>
> Aber einen Fehler hab ich doch drin: für einen Index von 4 braucht das
> Array 5 Elemente, also eher so: int wert[5];
>
> Naja, eh' wurscht
>
> Edit:
> ich ziehe meine Aussage zurück: hab Dein "++zaehler" übersehen...
>

Das ändert aber an dieser Stelle überhaupt nichts

> Aber dann machen wir im Prinzip genau das gleiche - mit dem gleichen
> Fehler ;-)

Nö. Christoph spricht das Array immer noch richtig an.

> von 1 bis 4 durchnumeriert. Du zählst von 0 bis 3 ;-)

Dann hättest du ihm erklären sollen, dass in C grundsätzlich
immer bei 0 zu zählen begonnen wird.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.