Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Array Problem!

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.06.2005, 09:03 Uhr
JohnSilver



Hallo,

hab folgendes Problem:

ich habe ein Array mit global definiert. Nun besitzt das Array sagen wir mal drei Felder. Desweiteren habe ich einen Zeiger der die Felder im Array hochzählt. Wie bekomme ich nun den Zeiger dazu, dass dieser dann stoppt wenn, das letzte Feld im Array erreicht ist, denn momentan läuft der Zeiger auf's Array einfach weiter....

Danke im voraus
John Silver
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.06.2005, 09:17 Uhr
Tommix



Hallo,

C++:
#include <stdio.h>

int a[3] = {1, 2, 3};

int main(void)
{
    int *p = &(a[0]);

    while (p <  &(a[3]))
        printf("%d\n", *(p++));

    return 0;
}



- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
24.06.2005, 11:41 Uhr
0xdeadbeef
Gott
(Operator)


Das ist so nicht wirklich sicher - ein sehr bescheuerter Compiler kann damit Mist bauen. (a[3] ist out of bounds)

Besser so:

C++:
#include <stdio.h>

int a[3] = {1, 2, 3};

int main(void)
{
    for(int *p = a; p <  a + 3; ++p)
        printf("%d\n", *p);

    return 0;
}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
24.06.2005, 11:55 Uhr
Tommix



Da hast Du recht - ich hab's aber mit einem sehr bescheuerten Compiler ausprobiert "Meine" Variante müsste so
C++:
... while (p <=  &(a[2])) ...
aussehen.
- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
24.06.2005, 12:46 Uhr
ao

(Operator)


Warum läufst du nicht einfach mit einem Index von 0 bis 2?

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: