Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Указатель на следующий элемент структуры 
:(
    Опции темы
docmai
Дата 12.9.2010, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 10.9.2010

Репутация: нет
Всего: нет



Как преобразовать строку myArray[0].next = &myArray[1].x; , чтобы она правильно работала? В следующем коде:

Код

#include <iostream.h>
#pragma hdrstop
#pragma argsused
#define N 10

struct tfll
{
    int x;
    int* prev,next;
};

int _tmain(int argc, _TCHAR* argv[])
{
    tfll myArray[N];
    myArray[0].x = 10;
        myArray[0].prev = NULL;
    myArray[1].x = 20;
        //Здесь ошибка:
        myArray[0].next = &myArray[1].x;
    return 0;
}


Это сообщение отредактировал(а) docmai - 12.9.2010, 16:48
PM MAIL   Вверх
primus2010
Дата 12.9.2010, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 3.7.2010

Репутация: нет
Всего: нет



В строке 
Код

int* prev, next;

только один указатель -- *prev. next -- переменная, содержащая целое число.
Не ставьте "*" после типа -- только перед переменной.
Код

int *prev, *next; // два указателя


PM MAIL   Вверх
bsa
Дата 12.9.2010, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



docmai, если ты хочешь сделать двусвязный список, то указатели должны быть на следующий/предыдущий элемент списка, а не на значение этого элемента.
PM   Вверх
docmai
Дата 12.9.2010, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 10.9.2010

Репутация: нет
Всего: нет



Большое спасибо за ответы! smile 
PM MAIL   Вверх
bsa
Дата 12.9.2010, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196




M
bsa
docmai, если ответ на вопрос получен, то пометь тему решенной

PM   Вверх
docmai
Дата 13.9.2010, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 10.9.2010

Репутация: нет
Всего: нет



Такая функция пойдет для задания элементов двухсвязанного линейного списка7 
Код

struct tfll
{
    int key;
    tfll *prev,*next;
};

void create()
{
    int i = 0;
    char cTemp;
    tfll *p,*temp;
    cout << "\n";
    while (cTemp != 'n')
    {
        cout << "Do you want to create another element (y/n): ";
        cin >> cTemp;
        if (cTemp == 'y')
        {
            temp = p;
            p = new tfll;
            cout << "Enter the key of i = " << i << " element \n";
            cin >> p->key;
            p->prev = temp;
            temp->next = p;
            if (i == 0)
            {
                p->prev=NULL;
                i++;
                continue;
            }
            i++;
        }
        if (cTemp == 'n')
        {
            p->next = NULL;
        }
    }
}


PM MAIL   Вверх
bsa
Дата 13.9.2010, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



docmai, чему равны переменные cTemp и p при первом проходе цикла?
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0698 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.