Я пытаюсь передать переменную "val", которую я установил, чтобы она была случайной, указателю HEAD, и в конце я хочу распечатать HEAD-> val.
Я пробовал установитьэто напрямую с помощью "HEAD-> val = n.val;"как вы можете видеть, но это приводит к тому, что в конце cout печатается 10 случайных чисел.
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
struct Cell {
int val;
Cell *next;
};
int main()
{
int MAX = 10;
srand (time(NULL));
Cell *c = NULL;
Cell *HEAD = NULL;
Cell n;
for (int i=0; i<MAX; i++) {
// Use dynamic memory allocation to create a new Cell then initialize the
// cell value (val) to rand(). Set the next pointer to the HEAD and
// then update HEAD.
Cell n = {};
n.val = rand();
n.next = HEAD;
HEAD->val = n.val;
cout << n.val << endl;
}
}
Я пытаюсь:
- передать переменную
val
изn --> HEAD
- распечатка
HEAD -> val
Я знаю, как сделать # 2, но попытка сделать # 1 вызывает проблемы в других вещах, как я уже говорил выше. Я верю, что каким-то образом перезаписываю значения n, но мне интересно, почему. Любая помощь приветствуется.