Forum: Compiler & IDEs variablen durchnummerieren


von flyingwolf (Gast)


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.
1
int wert1, wert2, wert3, wert4;
2
int zaehler;
3
4
for(;zaehler <= 4;zaehler++)
5
{
6
wert?zaehler? = messwert;
7
}
Wenn ja, wie?

von Sehrwitzig ⌂. (sehrwitzig)


Lesenswert?

Klar... nennt sich Array:
1
int wert[4];
2
int zaehler;
3
4
for(zaehler=1;zaehler <= 4;zaehler++)
5
{
6
wert[zaehler] = messwert;
7
}
Du warst also schon nah dran...

von Christoph _. (chris)


Lesenswert?

Sehrwitzig ⌂⌂ wrote:
1
> int wert[4];
2
> int zaehler;
3
> 
4
> for(zaehler=1;zaehler <= 4;zaehler++)
5
> {
6
> wert[zaehler] = messwert;
7
> }
> 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:
1
int wert[4];
2
int zaehler;
3
4
for(zaehler = 0; zaehler < 4; ++zaehler) {
5
  wert[zaehler] = messwert;
6
}

von Sehrwitzig ⌂. (sehrwitzig)


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:
>
>
1
int wert[4];
2
> int zaehler;
3
> 
4
> for(zaehler = 0; zaehler < 4; ++zaehler) {
5
>   wert[zaehler] = messwert;
6
> }

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 ;-)

von flyingwolf (Gast)


Lesenswert?

Hey danke.

von Karl H. (kbuchegg)


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.

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.