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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2013, 00:39   #11
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Код:
struct list
{
	list* next;
};

struct stack
{
	list* head;
};

void func(stack*)
{
	
}

int main()
{
	stack mystack;
	mystack.head = NULL;
	func(&mystack);
    return 0;
}
Ezhik Kihze, забей.
EUGY вне форума Ответить с цитированием
Старый 26.01.2013, 04:05   #12
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Код:
&mystack
Фактически - это есть эквивалент двойного указателя, опять мимо...
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Старый 26.01.2013, 04:23   #13
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Фактически Вы отстаиваете заведомо ущербную позицию.
Дилетант создал структуру
node* head;
И не зная как воспользоваться, начинает выдумывать глупости типа
func(node**)
func(node*&)
func(node******)

Кого пытаетесь убедить?


Цитата:
&mystack
Фактически - это есть эквивалент двойного указателя, опять мимо...
Нет, это взятие адреса.

Последний раз редактировалось EUGY; 26.01.2013 в 04:28.
EUGY вне форума Ответить с цитированием
Старый 27.01.2013, 00:13   #14
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Цитата:
Нет, это взятие адреса.
Ну включите мозг или вы только дословно можете следовать тому, что написано. Да, это операция взятия адреса, но по факту аналогично двойному указателю только с прикрученной еще одной структурой. И чем это лучше &head?

Цитата:
Дилетант создал структуру
Это вы про себя? Городить еще одну сущность-структуру... ради чего?

Цитата:
Кого пытаетесь убедить?
Убедить?.. Никого, фанатичного "профессионала" не убедишь все равно. Я думал мы просто оффтопим о возможностях языков.
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Старый 27.01.2013, 02:43   #15
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Цитата:
Городить еще одну сущность-структуру... ради чего?
Безусловно, множить сущности без необходимости не следует.
Но здесь, как раз, необходимость есть. Как минимум, для упрощения сигнатур функций. В теме идет речь о вроде бы о списке, но списка как такового почему-то нет, а есть лишь его элемент - node. И отсутствие в явном виде заданного объекта приводит к тому, что автор вынужден применять двойной указатель на node даже в тех функциях, которые сами не изменяют аргумент, а просто передают его дальше.
Конечно, можно все решить без ООП, но это как раз и приводит к нечитаемому километровому коду, даже в студенческих прогах уровня хеловорд. Я привел пример на c++, не катит, привел эквивалент на си, оказалось, тоже не убедил.
ps
Даже предлагал забить на тему, но Вы решили исподтишка похамить.
Так что, возвращаю Вам обратно:
Цитата:
Никого, фанатичного "профессионала" не убедишь все равно

Последний раз редактировалось EUGY; 27.01.2013 в 02:48.
EUGY вне форума Ответить с цитированием
Старый 28.01.2013, 00:13   #16
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Цитата:
которые сами не изменяют аргумент, а просто передают его дальше
Где вы это увидели? Тут двойной указатель требуется, чтобы если не было элементов в списке создать его, т.е. изменить указатель переданный.

Цитата:
Так что, возвращаю Вам обратно:
Ой, спасибо. Ну лучше нубу объяснили бы, чем лишняя структура лучше двойного указателя.... а пока вижу только - доп. сущность, возможные доп. расходы памяти, доп. обращения при динамических массивах этих структур, .. и лишь одна возможная выгода, что когда-нибудь может быть вдруг прогер решит хранить в этой доп. структуре еще какую-то доп. инфу о списке, например, название.
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передать указатель на указатель в функцию erro Общие вопросы C/C++ 3 29.10.2012 17:59
Двойной переворот daniil123 Паскаль, Turbo Pascal, PascalABC.NET 0 21.11.2011 22:59
двойной ping stupid C# (си шарп) 6 29.03.2011 11:08
Двойной запуск SONce Общие вопросы Delphi 4 15.04.2009 20:50
Двойной клик Алежа Общие вопросы .NET 3 16.11.2008 23:20