С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Нужен пример объявления структуры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как научиться быстро решать задачи.Советы, литереатура? http://www.cyberforum.ru/cpp-beginners/thread421638.html
Совсем недавно начал изучать Си. Я очень люблю программировать на Си. Могу с утра до ночи это делать и сночи до утра.Но меня удручает огромное количество времени которое я трачу на решение одной...
C++ Работа с файлами Помогите решить проблему. Нужно записать найденные значения в файл G(output) Дано 2 файла F(input) и G(output) Программа работает находит самое длинное слово и его кол-во вхождений в тексте и... http://www.cyberforum.ru/cpp-beginners/thread421627.html
C++ что не правильно ?
С новым годом всех!Подскажите пожалуйста ,что в этом коде не правильно написано и что лишнее. #define _USE_MATH_DEFINES #include<iostream> #include<cmath> using namespace std; int main() {...
C++ Напишите рекурсивную функцию, которая определит, является ли заданное натуральное число первичным.
С++. Напишите рекурсивную функцию, которая определит, является ли заданное натуральное число первичным. Натуральное число вводим сами. Пасиба Добавлено через 1 час 3 минуты Uch, pazalsta...
C++ Нахождение расстояния между точками http://www.cyberforum.ru/cpp-beginners/thread421611.html
Вводится количество точек, потом их координаты. Программа должна вывести общее расстояние между ними. Помогите с решением.
C++ Инициализация двумерного массива в классе Есть класс: class Test { int T; public: Test(); ~Test(); }; подробнее

Показать сообщение отдельно
rangerx
1937 / 1546 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
02.01.2012, 23:11
Цитата Сообщение от Don't Посмотреть сообщение
что прошу..
чтобы привели пример объявления, присвоение значения (и как при этом меняется указатель)
Односвязный список это цепочка однотипных структур, каждая из которых хранит как сами данные хранящиеся в списке, так и адрес следующей такой структуры. Ниже простой пример такого списка
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
 
//----------
 
template<typename T>
struct node
{
    T data; // данные хранящиеся в списке
    node* next; // указатель на следующий элемент
};
 
//----------
 
struct human
{
    int age;
    int height;
};
 
//----------
 
int main()
{
    // выделяем память под первый элемент списка и присваиваем значения хранящимся в нём данным
    node<human>* first_node = new node<human>();
    first_node->data.age = 1;
    first_node->data.height = 1;
    // второму элементу списка присваиваем нулевой адрес(признак конца списка)
    first_node->next = NULL;
 
    // выводим список на экран(перебираем все указатели пока не доберёмся до нулевого)
    for(node<human>* p = first_node; p != NULL; p = p->next)
        std::cout << p->data.age << ", " << p->data.height << std::endl;
    std::cout << std::endl;
 
    //---------------
 
    // всё то же самое для второго элемента списка
    first_node->next = new node<human>(); // выделяем память под второй элемент списка
    first_node->next->data.age = 2;
    first_node->next->data.height = 2;
    first_node->next->next = NULL; // третий элемент равен NULL(признак конца списка)
 
    for(node<human>* p = first_node; p != NULL; p = p->next)
        std::cout << p->data.age << ", " << p->data.height << std::endl;
    std::cout << std::endl;
 
    //-----------------
 
    // для третьего
    first_node->next->next = new node<human>(); // выделяем память под третий элемент списка
    first_node->next->next->data.age = 3;
    first_node->next->next->data.height = 3;
    first_node->next->next->next = NULL; // четвёртый элемент равен NULL(признак конца списка)
 
    for(node<human>* p = first_node; p != NULL; p = p->next)
        std::cout << p->data.age << ", " << p->data.height << std::endl;
    std::cout << std::endl;
}
естественно, в реальной программе все действия со списком(добавление, удаление, вставка...) автоматизируется c помощью функций.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.