Witam. Prosiłbym o pomoc z kilkoma rzeczami.
Przede wszystkim - co najbardziej mi "mąci" - po zaalokowaniu do wskaźnika pamięci dynamicznej, można ją zaalokować jeszcze raz na wskaźnik o tej samej nazwie. Co w konsekwencji taki wskaźnik zawiera? Zamieszczam fragment kodu. Kłóci mi się to z logiką programowania - otóż czy dochodzi wtedy do nadpisania? Przecież z samej definicji wskaźnik zawiera jeden adres określonego obiektu (chyba, że mylnie ją interpretuję) - więc czy w tym wypadku zawierałby kilka adresów do poszczególnych obiektów?
#include <iostream>
#include <cstring>
using namespace std;
struct student
{
string imie, nazwisko;
int numer;
student *next;
};
int main ()
{
student* add = new student;
student *add = new student;
student *add = new student;
delete add;
system ("pause");
return 0;
}
To pierwsza rzecz. Druga: Co oznacza taki zapis? Mogę zamieścić na wszelki wypadek także cały kod kolejki.
struct person
{
string name,surname;
person *next;
};
struct queue
{
person *head;
person *end;
};
int main ()
{
person * add = new person;
Queue.end->next = add;
}
Chodzi mi o ostatnią linijkę - następują wskazania na poszczególne obiekty, ale nie do końca to rozumiem. Pozdrawiam