C99Übergabe eines Zeigers an den Zeiger auf ein Zeichen in eine Funktion
Ich verwende einen Zeiger auf den Zeiger und übergibt ihn in eine Funktion, um die Namen anzuzeigen.
Allerdings, wenn ich durch den Debugger gehe. Der Zeiger auf den Zeiger im Parameter zeigt auf nichts. Allerdings verwende ich es, um alle Namen in main anzuzeigen.
Wenn ich eine Ganzzahl übergeben würde, wäre der ganzzahlige Wert immer noch da. Warum nicht ein Zeiger auf Zeiger?
Hat dies etwas mit Scope zu tun oder muss ich Speicher mit malloc oder Calloc für den Zeiger auf den Zeiger zuweisen?
Vielen Dank für Ihre Anregungen,
#include <stdio.h>
void display_names(char **first_names);
int main(void)
{
char *names[] = {"peter", "Mary", "John", 0};
char **print_names = names;
while(*print_names)
{
printf("Name: %s\n", *print_names);
*print_names++;
}
display_names(print_names);
getchar();
return 0;
}
void display_names(char **first_names)
{
while(*first_names)
{
printf("First name: %s\n", *first_names);
first_names++;
}
}
Ich habe gerade scheinen, was ich getan habe. Ich habe den Zeiger in der while-Schleife inkrementiert. Also ist der Zeiger jetzt Zeiger auf Null. – ant2009