リンクリストを使用して誰かがボイドポインタを理解するのを手伝ってもらえますか?リンクリストをより一般的にする
私が持っている:だけint型で動作します
struct listNode
{
int nodeValue;
struct listNode * next;
};
typedef struct listNode listNode;
。 int nodeValueをvoid * nodeValueに変更すると、代わりにvoidポインターを使用してリンクリストに値を送信しますか?例えば
、私はフロント機能に追加しました:
void addFront(listNode *L, int number);
listNodeと数をとります。
それがvoid *ポインタだった場合、私はちょうどに署名を変更します
createListは次のように定義されてint main(void)
{
listNode *list;
list = createList();
for (int x = 0;x < 8;x++)
{
addFront(list,x);
}
return(0);
}
:私はのようなものを持っているint型を使用して私の主な機能で
void addFront(listNode *L, void* value);
:
listNode *createList()
{
listNode *anyNode;
anyNode = malloc(sizeof(listNode));
anyNode->next = NULL;
return anyNode;
}
listNode *initNode(int number)
{
listNode *newNode;
newNode = malloc(sizeof(listNode));
newNode->nodeValue = number;
newNode->next = NULL;
return(newNode);
}
リストをより汎用的にするには、どのようにして整数を渡すことができますか?整数を宣言します。
申し訳ありませんが、私のaddFrontはnew_nodeを返します。 コードに忘れてしまいました。 –