Hallo,
Dabei stieß ich auf folgendes Problem -
Variable und &Variable?
mit "&" adressiert man den speicher der variable? was soll der unterschied sein?
Der Ausdruck »variable« gibt Dir den Wert der Variable, der Ausdruck »&variable« die Speicheradresse der Variable.
Beispiel:
#include <stdio.h>
#include <sys/types.h>
int main (int argc, char **argv) {
int var = 3;
printf ("%d\n", var);
// Auf 64bit-Systemen %016x verwenden
printf ("%08x\n", &var);
return 0;
}
Ergibt bei mir:
3
bfec32a0
Der Wert der Variable ist also 3 und der wird an Adresse 0xbfec32a0 gespeichert (das wird bei Dir mit Sicherheit variieren).
was wäre der unterschied zwischen
char *String[]="bla bla bla"; (was macht das "*" ? warum wird mal nach char* mal vor variablenname geschrieben?)
char *String[]="bla bla bla" ist *GANZ FALSCH*.
Entweder:
char *string = "bla bla bla";
oder
char string[] = "bla bla bla";
oder wenn Du ein Array von Strings haben willst, dann:
char *string[] = {
"bla bla bla",
"blub blub blub",
...
};
in tutorials wird zwar erklärt dass es zeiger sind, aber was heißt es "effektiv"?
Ich kann Dir, was Zeigerarithmetik angeht, wirklich nur empfehlen, Dir mal Kernighan/Ritchie, "Programmieren in C", 2. oder 3. Auflage durchzulesen. Zeiger sind nichts, was man in einem Forenposting mal eben kurz erklärt. Da steckt eine Menge Informationen dahinter und Deine Fragen zeigen, dass Du erst noch *ganz* am Anfang stehst.
Viele Grüße,
Christian