kann mir das jemand erklären?

Dieses Thema im Forum "C/C++" wurde erstellt von aussengelaender, 10.04.2011.

  1. #1 aussengelaender, 10.04.2011
    aussengelaender

    aussengelaender Foren As

    Dabei seit:
    18.02.2007
    Beiträge:
    82
    Zustimmungen:
    0
    ich hab gerade angefangen in c bisschen mit pointern rumzuspielen. Wollte mit einem pointer den inhalt vom eine anderen beeinflussen! hab ich auch gemacht bloss meine ausgaben dazu sind einfach irgendwie komisch komisch!

    Code:
    #include <stdlib.h>
    #include <stdio.h>
    
    int main()
    {
    	int *ptr,zahl,*ptr2,zahl2;
    	ptr = &zahl;
    	*ptr = 5;
    	ptr2 = &zahl2;
    	*ptr2 = 666666;	
    	printf("ptr = %d\n",*ptr);
    	printf("adresse von ptr ist %p \n",&ptr);
    	printf("ptr2=%d\n",*ptr2);	
    	printf("adresse von ptr2 ist %p \n",&ptr2);	
    	ptr2+=2;                          //hier erhoehe ich die adresse
    	printf("adresse von ptr2_neu ist %p \n",&ptr2); 
    	printf("ptr2_neu = %d \n",*ptr2);	
    	*ptr2=9999999;	
    	printf("ptr_neu = %d\n",*ptr);
    	printf("adresse von ptr_neu ist %p \n",&ptr);	
    	return 0;
    }
    
    +Ausgaben

    Code:
    bla@debian:/emulator/c$ gcc -o pointer1 pointer.c && ./pointer1 
    ptr = 5
    adresse von ptr ist 0xbfb76860 
    ptr2=666666
    adresse von ptr2 ist 0xbfb76858 
    adresse von ptr2_neu ist 0xbfb76858     //adresse veraendert sich nicht laut ausgabe	
    ptr2_neu = 5                                     //aber inhalt veraendert sich trotzdem
    ptr_neu = 9999999
    adresse von ptr_neu ist 0xbfb76860 
    
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. Gast1

    Gast1 Guest

    Du gibt die Adresse von ptr2 aus, nicht aber die Adresse auf die ptr2 zeigt! :)
    Du musst die & vor ptr2 in den printf - Anweisungen entfernen.
     
  4. #3 aussengelaender, 10.04.2011
    aussengelaender

    aussengelaender Foren As

    Dabei seit:
    18.02.2007
    Beiträge:
    82
    Zustimmungen:
    0
    Ah danke, da war noch ein denkfehler in meiner Vorstellung von pointern, aber so macht das erstmal sinn!
     
  5. Gast1

    Gast1 Guest

    Ein Pointer ist ja auch nur eine Variable die etwas speichert - nämlich Adressen. Und mit &ptr2 wird dir dann halt die Adresse ausgegeben, an der der Pointer liegt - wo dieser also die Adresse von zahl2 abgelegt hat - Quasi die Adresse der Adresse von zahl2 :)
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

kann mir das jemand erklären?

Die Seite wird geladen...

kann mir das jemand erklären? - Ähnliche Themen

  1. Kann mir bitte jemand mit den Repos helfen?

    Kann mir bitte jemand mit den Repos helfen?: Hallo Leute Ich habe ein Problem mit den Paketquellen im Debian. Ich habe Debian installiert doch habe keine Paketquellen die mir ermöglichen...
  2. Name der Augen/ Kann mir mal jemand die Tomaten von den Augen nehmen?

    Name der Augen/ Kann mir mal jemand die Tomaten von den Augen nehmen?: Hallo Ich hab ne Frage. Bei den älteren SUSE Versionen sind so lustige (und völlig sinnlose:D ) Programme vorinstalliert, wie zum Beispiel der...
  3. Kann mir jemand sagen, wo der Fehler in der Xorg.conf ist

    Kann mir jemand sagen, wo der Fehler in der Xorg.conf ist: Hallo, hier Poste ich mal meine Xorg.conf und die Log dazu. Ich habe Suse Linux 10.1 und den ATI Treiber (fglrx) Grafikkarte: ATI Radeon...
  4. Problem! Kann mir jemand helfen.

    Problem! Kann mir jemand helfen.: Hi, vielleicht kann mir jemand weiterhelfen... Gibt es einen befehl um die Leerzeile zwischen der Ausgabe und dem Prompt abzuschneiden. z.B.:...
  5. Suche jemand der mir KI tutorials für Visual Basic oder Python besorgen kann!!!!!!!!!

    Suche jemand der mir KI tutorials für Visual Basic oder Python besorgen kann!!!!!!!!!: Ich und mein Freund(Krenn&Freinberger Games) programmieren ein spiel und ich wäre dankbar für jedes tutorial das man mir schikt!!! :help: :help: