tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
1298
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Cyraid Cyraid ist offline Mitglied Silber
    Registriert seit
    May 2006
    Beiträge
    55
    Hallo zusammen,

    eine kleine Anfängerfrage :
    Ich möchte gerne einen integer array kopieren, was jedoch wie folgt nicht funktioniert:
    Code :
    1
    2
    3
    
    int a[] = {1, 2};
    int b[2];
    b = a;

    Bleibt mir daher nichts anderes übrig als eine Copy Fuktion zu schreiben, wie z.B.
    Code :
    1
    2
    3
    4
    
    void copyArray(int a[n], int b[n]) {
      for(int i = 0; i < n; i++)
        a[i] = b[i];
    }

    Oder gibt es bereits eingebaute (bessere) Kopierfunktionen für Arrays?

    Danke und schöne Grüß, Cyraid
     

  2. #2
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.
    Zitat Zitat von Cyraid Beitrag anzeigen
    eine kleine Anfängerfrage :
    Ich möchte gerne einen integer array kopieren, was jedoch wie folgt nicht funktioniert:
    Code :
    1
    2
    3
    
    int a[] = {1, 2};
    int b[2];
    b = a;

    Bleibt mir daher nichts anderes übrig als eine Copy Fuktion zu schreiben, wie z.B.
    Code :
    1
    2
    3
    4
    
    void copyArray(int a[n], int b[n]) {
      for(int i = 0; i < n; i++)
        a[i] = b[i];
    }

    Oder gibt es bereits eingebaute (bessere) Kopierfunktionen für Arrays?
    Ja. memcpy

    Oder in C++ std::copy

    Wobei man in C++ evtl. gleich einen std::vector verwenden sollte.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  3. #3
    Avatar von brunlorenz
    brunlorenz brunlorenz ist offline *C* & Windows-Freak
    Registriert seit
    May 2010
    Ort
    Zürich (Schweiz)
    Beiträge
    206
    Hi, hier noch die mencpy-Syntax: memcpy(%Ziel%,%Quelle%)

    Ich hoffe, du kommst damit klar

    lorenz
     

  4. #4
    OnlyFoo OnlyFoo ist offline Mitglied Brokat
    Registriert seit
    Feb 2005
    Beiträge
    470
    Zitat Zitat von brunlorenz Beitrag anzeigen
    Hi, hier noch die mencpy-Syntax: memcpy(%Ziel%,%Quelle%)

    Ich hoffe, du kommst damit klar

    lorenz
    du meinst hoffentlich
    Code c:
    1
    
     memcpy( ziel, quelle, anzahlbytes );
     

  5. #5
    Cromon Cromon ist offline Mitglied Brillant
    Registriert seit
    Apr 2008
    Beiträge
    819
    Hier noch als Erklärung warum deine erste Variante nicht funktioniert:
    Sowohl a als auc b sind lokale Variabeln auf dem Stack mit jeweils sizeof(int) * 2 bytes. Diese sind ja schon fix mit einer Adresse behaftet (ebp - 8, ebp - 4). Daher ist es nicht möglich diesen eine neue Adresse zuzuweisen.
     

  6. #6
    Avatar von brunlorenz
    brunlorenz brunlorenz ist offline *C* & Windows-Freak
    Registriert seit
    May 2010
    Ort
    Zürich (Schweiz)
    Beiträge
    206
    Danke für die Berichtigung. Dann hatte mein C/C++-Büchlein einen Fehler
     

  7. #7
    Cyraid Cyraid ist offline Mitglied Silber
    Registriert seit
    May 2006
    Beiträge
    55
    Ich bedanke mich für eure Antworten ! Komme damit zurecht.
     

Ähnliche Themen

  1. Teil eines Array kopieren
    Von WorldRacer im Forum PHP
    Antworten: 4
    Letzter Beitrag: 16.07.08, 17:34
  2. Array mit Objekten kopieren
    Von haschen im Forum Java
    Antworten: 4
    Letzter Beitrag: 10.12.07, 00:50
  3. 2D Array kopieren und verändern
    Von DerWisser im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 15.04.07, 22:47
  4. Array ohne Schleife kopieren
    Von Lifmor im Forum Visual Basic 6.0
    Antworten: 5
    Letzter Beitrag: 06.06.05, 22:44
  5. ManagementObjectCollection in Array kopieren
    Von MrPHP im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 29.08.04, 13:10