各ノードにデータ (1.0 ~ 9.0 の double 値) を追加しました。今、各データにアクセスして、各ノードの double 値が負 (-1.0 から -9.0) になるように変更しようとしています。
void traverseList(struct List *list, void (*func) (void *)) {
struct Node *current = list->head;
while(current) {
func(current->data);
current = current->next;
}
}
void changeToNegative(void *data) {
double newData = *((double*)data) * -1.0;
data = &newData;
}
上記を次のように呼び出しています。
traverseList(&list, &changeToNegative);
traverseList(&list, &print);
ただし、まだ正の値しか出力されません...新しいメモリ位置をデータに再割り当てしているため、古いメモリ位置をまだ指している方法がわかりません。どんな助けでも大歓迎です!