私はポインタへのポインタを使用して、名前を表示する関数に渡しています。
しかし、私はデバッガを通過します。パラメータのポインタへのポインタは何も指しません。しかし、私はそれをメインのすべての名前を表示するために使用しています。
整数を渡していた場合でも、整数値はそのまま残ります。なぜポインターへのポインターですか?
これはスコープと関係がありますか、mallocまたはcallocを使用してポインタへのポインタを割り当てる必要がありますか?何もprint_namesポイントまで
任意の提案のための多くのおかげで、あなたのwhileループ、あなたループでは
#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++;
}
}
私はちょうど私がやったように思えます。 whileループでポインタをインクリメントしました。だから今ポインタはnullへのポインタです。 – ant2009