Code: Alles auswählen
int a , b , c , ∗ p1=&a , ∗ p2=&b , ∗ p3=&c ;
a = b = c = 1 ;
∗p1 = a + b + c ;
∗p2 = ∗p1 + ∗p2 + ∗p3 ;
∗p3 = ∗p1 + 1 + 2 ∗∗p2 ;
Edit by Xin: Code Tags hinzugefügt
Code: Alles auswählen
int a , b , c , ∗ p1=&a , ∗ p2=&b , ∗ p3=&c ;
a = b = c = 1 ;
∗p1 = a + b + c ;
∗p2 = ∗p1 + ∗p2 + ∗p3 ;
∗p3 = ∗p1 + 1 + 2 ∗∗p2 ;
Code: Alles auswählen
int a , b , c , ∗ p1=&a , ∗ p2=&b , ∗ p3=&c ;
a = b = c = 1 ;
Code: Alles auswählen
∗p1 = a + b + c ;
Code: Alles auswählen
∗p2 = ∗p1 + ∗p2 + ∗p3 ;
Code: Alles auswählen
∗p3 = ∗p1 + 1 + 2 ∗∗p2 ;
Ja, natürlich darfst Du hier weiterhin Fragen stellen und es ist auch keine Frage zu blöd oder so, aber ich möchte Dir eine weitergehende Antwort geben:Kann mir jemand erklären was für Werte a.b und c am Ende haben?
Code: Alles auswählen
printf( "a=%d, b=%d, c=%d\n", a, b, c );
Passt dochmvp_1991 hat geschrieben:Es kommt der Wert 14 raus, da *p1 = 3 und 2 * *p2 = 10
Dementsprechend 3 + 1 + 2*5 =14
Yepp.mvp_1991 hat geschrieben:Verstehe ich das richtig, dass der Speicherbereich den *p referenziert 3 Int-Variablen beträgt?Code: Alles auswählen
int ∗p = c a l l o c ( 3 , s i z e o f ( int ) ) ; ∗( p+1) = 10; ∗( p+2) = 20;
calloc( 3, sizeof ( int ) ) ist nicht anderes als malloc( 3 * sizeof( int ) ).mvp_1991 hat geschrieben:und wie groß ist dieser Bereich in Zahlen ausgedrückt? Muss ich da den normalen int-Bereich mal 3 nehmen?
Kommt drauf an, wo p hinzeigt. Eher nicht.mvp_1991 hat geschrieben:werden durch folgende Codezeile die drei ganzzahligen Variablen a,b,c deklariert und mit Werten initalisiert, die in dem durch p referenzierten Speicherbereich sind?
*(p+1) = 10; *(p+2) = 20; *(p+3) = 30;