こんにちは、関数へのポインターに配列を渡そうとしています。2通りやってみました。最初に行った方法は *array を関数に渡すことでしたが、その後、以下のエラー メッセージが表示されます。そこで間違いに気づき、配列に変更しました。しかし、それは私に考えさせました、なぜエラーは二重ポインタを期待していると言っているのですか? エラーは今私を少し混乱させます。誰か説明してくれませんか。ありがとう。
add(struct node *arrayy[],int value)
{
struct node *nodey = (struct node *)malloc(sizeof(struct node));
nodey->x=value;
if(arrayy[value]==NULL)
{
printf("I am not pointing to something...now I am hehehe\n");
arrayy[value]=nodey;
}
else
{
printf("I already have a head..now my link is pointing at something\n");
arrayy[value]->link=nodey;
}
}
struct node *array[10]={NULL};
add(*array,4);
add(array,4);
エラーメッセージ
note: expected ‘struct node **’ but argument is of type ‘struct node *’