Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2013, 11:00   #1
Gtnz8
Пользователь
 
Аватар для Gtnz8
 
Регистрация: 09.08.2012
Сообщений: 95
По умолчанию Связанный список.

Почему в примере из книги указатель конца списка записывается в структуру
Код:
n3
Но ведь в n3 у нас записано число 300 ?
Мне пришлось добавить четвёртую структуру для нулевого указателя.
Хочется понять, в книге ошибка, или я чего-то не понял ?
Код:
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <locale.h>
#include <stdbool.h>

struct entry
{
    int val;
    struct entry *next;
}n1,n2,n3,n4,*ptr=&n1;


int main()
{
    setlocale(LC_CTYPE,"Russian");

   n1.val=100;
   n1.next=&n2;
   n2.val=200;
   n2.next=&n3;
   n3.val=300;
   n3.next=&n4;
  n4.next=(struct entry *)0;
 while(ptr->next !=(struct entry *)0)
 {
     printf("%d\n",ptr->val);
     ptr=ptr->next;
 }


   return 0;
}
Gtnz8 вне форума Ответить с цитированием
Старый 21.09.2013, 11:32   #2
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

ты чего-то не понял:

http://codepad.org/Es9Q7RDy


Код:
#include <stdio.h>

struct entry
{
    int val;
    struct entry *next;
}n1,n2,n3;


int main()
{
   n1.val=100;
   n1.next=&n2;
   n2.val=200;
   n2.next=&n3;
   n3.val=300;
   n3.next=0l;


 const entry* ptr = &n1;
 do
 {
     printf("%d\n",ptr->val);
 }
 while(  (ptr=ptr->next, ptr) !=0l );
 

   return 0;
}
_Bers вне форума Ответить с цитированием
Старый 21.09.2013, 11:50   #3
Gtnz8
Пользователь
 
Аватар для Gtnz8
 
Регистрация: 09.08.2012
Сообщений: 95
По умолчанию

Я всё правильно понял,просто очередной раз описался.
Код:
while(ptr->next !=(struct entry *)0)
Gtnz8 вне форума Ответить с цитированием
Старый 21.09.2013, 13:23   #4
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Gtnz8 Посмотреть сообщение
Я всё правильно понял,просто очередной раз описался.
Как говорят в армии: "хоть абкакайся, но поставленную задачу выполни!"
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
связанный список leonid_v Помощь студентам 33 25.01.2013 12:45
Связанный список Лжец Общие вопросы C/C++ 2 12.12.2011 23:42
Связанный список на СИ maryan.vetrov Общие вопросы C/C++ 6 18.10.2010 08:49
Связанный список (Linked list). lnter Помощь студентам 0 12.04.2010 17:58