Danke für die Antworten.
&c ist die adresse von c
*x ist das byte / die bytes, die x addressiert
bsp:
Code:
int c = 0;
int *x;
x = &c;
*x = 1;
//c hat jetzt den wert 1
Danke
(eigentlich hab ich nen Tippfehler gehabt und meine Unterschied zwischen *x und &x)
also hab ich das so richtig verstanden:
1. c wird inititalisiert/definiert und c wird der Wert 0 zugewiesen
2. das Byte, das x adressiert, wird zugewiesen
3. x wird die Adresse von c zugewiesen
4. der Adresse von x wird der Wert 1 zugewiesen
5. dadurch das c die Adresse von x hat, hat sie auch den Wert von x
*x ist das byte / die bytes, die x addressiert
Das hab ich noch nicht so verstanden
Was ist das Byte das x adressiert. Hat es den selben Wert wie die Adresse von x?
Und ich wollte jetzt mal selbst den Unterschied &x und *x herausfinden, aber ich erhalte nur ein Segmentetion Fault als Ausgabe
Code:
#include <stdio.h>
int main(void) {
int *x;
*x = 2;
printf("%p\n",&x);
printf("%p\n",*x);
printf("%i\n",&x);
printf("%i\n",*x);
return 0;
}
Zwischen "return X" und "return (X)" gibt es keinen Unterschied. Du kannst so viele Klammern setzen wie du willst
.
Ok weil ich hab in NetBSD ein return (1); gefunden, wass in OpenBSD zu einem return 1; geändert wurde, also könnte man das ja auch bei NetBSD ändern^^
Wegen Pointern: Aus Erfahrung weiß ich, dass das ein schwieriges Thema für Einsteiger ist, aber nicht aufgeben
Wenn man weiß wie sie funktionieren, kann echt tolle Sachen mit machen.
Ja das ist auch mein Problem
Ich bin die Anleitung des C Wikibooks durchgegangen und hab jetzt auch schon im C von A bis Z Openbook nachgeschaut aber wirklich verstanden hab ich es noch nicht
thacrazze