Ich arbeite auch seit einiger Zeit mit ihnen.
Mir ist aber bisher aufgefallen das man Pointer mit Variablen ersetzen kann.
Kann jemand das gegenteil beweisen vielleicht ein Beispiel posten wo Pointer
unerlässlich sind.
Vielen Dank schon mal

Kannst Du mir kurz ein Beispiel zeigen, wo man Pointer durch Variablen ersetzen kann, damit ich diesen Gedankengang vielleicht nachvollziehen kann?canlot hat geschrieben:Mir ist aber bisher aufgefallen das man Pointer mit Variablen ersetzen kann.
Kann jemand das gegenteil beweisen vielleicht ein Beispiel posten wo Pointer
unerlässlich sind.
hier:Kannst Du mir kurz ein Beispiel zeigen, wo man Pointer durch Variablen ersetzen kann, damit ich diesen Gedankengang vielleicht nachvollziehen kann?
Code: Alles auswählen
/* ptr2.c */
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int abfrage;
int Kapitel1 = 5;
int Kapitel2 = 60;
int Kapitel3 = 166;
int Nachtrag = 233;
int *Verzeichnis; /* Zeiger */
do {
printf("\tINDEXREGISTER VOM BUCH\n");
printf("\t*******************************\n\n");
printf("\t-1- Kapitel 1\n");
printf("\t-2- Kapitel 2\n");
printf("\t-3- Kapitel 3\n");
printf("\t-4- Nachtrag\n");
printf("\t-5- Ende\n");
printf("\n");
printf("\tAuswahl : ");
scanf("%d",&abfrage);
printf("\tKapitel %d finden Sie auf ",abfrage);
switch(abfrage) {
case 1 : Verzeichnis =& Kapitel1;
printf("Seite %d\n", *Verzeichnis);
break;
case 2 : Verzeichnis =& Kapitel2;
printf("Seite %d\n", *Verzeichnis);
break;
case 3 : Verzeichnis =& Kapitel3;
printf("Seite %d\n", *Verzeichnis);
break;
case 4 : Verzeichnis =& Nachtrag;
printf("Seite %d\n", *Verzeichnis);
break;
default : printf("Seite ???\n");
break;
}
} while(abfrage < 5);
return EXIT_SUCCESS;
}
Nein.canlot hat geschrieben:Also sind Zeiger einfach nur dynamische Variablen?
Falsch, ein Pointer ist eben KEINE Variable, es ist ein Zeiger.Also sind Zeiger einfach nur dynamische Variablen?
Code: Alles auswählen
int i = 0;
int *p = &i;
printf("%d", p);
printf("%d", &p);
printf("%d", *p);
Vorsicht... auch Zeiger können genauso (in) Variablen sein, wie Daten. Auch Zeiger sind Daten, es ist "nur" ein semantischer Unterschied zwischen einem (int) und einem (int *).cloidnerux hat geschrieben:Falsch, ein Pointer ist eben KEINE Variable, es ist ein Zeiger.Also sind Zeiger einfach nur dynamische Variablen?
Code: Alles auswählen
int value = 4711;
int value2 = 1234;
int * pInt = &value; // Der Zeiger pInt zeigt auf die Variable (int) Value.
int ** ppInt = &pInt; // Der Zeiger ppInt zeigt auf die Variable (int *) pInt
pInt = &value2;
*pInt = 4321; // Dahin, wo pInt hinzeigt, wird 4321 geschrieben.
Code: Alles auswählen
int value = 4711;
int ** ppInt = &(&value);