Сохранен 20
https://2ch.hk/pr/res/1284697.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Добрый день, господа. Вообщем есть структура

 Двощ помоги с Си 26/10/18 Птн 09:34:39 #1 №1284697 
image.png
Добрый день, господа. Вообщем есть структура и у нее есть поле-указатель на себя же, типа:
struct X {
struct X link;
};
Проект собираю bash-скриптом. Компилирую два объектных файла где есть одинаковые строчки:
struct X
x = malloc(sizeof(struct X));
printf("%d\n", x->link == NULL);
Так вот, при сборке в один эксэшник и запуске, на выход получаю
1
0

Как так? Причем из второго файла указатель реально куда-то ведет, если его вывести а первый нет.

P.S. В обоих случаях макрос NULL определяется из <stddef.h>. По крайней мере мне так говорит vscode
Аноним 26/10/18 Птн 10:35:01 #2 №1284728 
>>1284697 (OP)
>использовать структуры в 2к18м

божекакойпиздец
Аноним 26/10/18 Птн 11:03:54 #3 №1284736 
>>1284728
>Использовать NULL вместо nullptr в 2к18м
Тоже самое.
Аноним 26/10/18 Птн 11:49:35 #4 №1284750 
>>1284728
>>1284736
А что это у нас тут плюсобляди раскукарекались, давно по пизде не получали?
Аноним 26/10/18 Птн 11:53:48 #5 №1284754 
malloc не обнуляет память, используй calloc
Аноним 26/10/18 Птн 14:17:27 #6 №1284823 
>>1284754
Оп, пасиб
Аноним 26/10/18 Птн 14:18:43 #7 №1284824 
>>1284728
А какая им есть альтернатива? По-моему самая удобна структура данных в Си
Аноним 26/10/18 Птн 15:54:42 #8 №1284859 
>>1284750
Я не плюсоблядь, я джавакотлинобоярин. Просто охуел, что кто-то юзает структуры вместо классов в 2018 году, когда классы в с++ спокойно можно юзать и в ус не дуть. Вы в курсе, что структуры - устаревшая хуета с дооопшных времен и сейчас уже от них толку нет?
Аноним 26/10/18 Птн 16:06:27 #9 №1284866 
>>1284859
В Си нету классов. Плюсы - это другой язык. Ты еще лисперам по-пояснияй за ооп
Аноним 26/10/18 Птн 19:15:43 #10 №1284967 
>>1284728
Обезьяна живет в своем манямире, в котором за него всю работу делает конпелятор и сборщик мусора и даже не знает, что за пределами манямира есть другая жизнь, не лучше, не хуже, просто другая.
Но она далека до понимания обезьяны.
Аноним 26/10/18 Птн 23:16:46 #11 №1285071 
>>1284967
Не пиши больше ничего на форумах, связанных с программированием или на этой борде. Не позорься, ты - дно, которое всерьез не понимает, что классы появились больше 2 десятилетий назад и любой уважающий себя язык уже трансформировался так, чтоб их поддерживать (даже мерзкий паскаль и тот уже стал оо-языком). Но нет, такие как ты держатся на ебаный си, который не развивается еще с 90-х, высирают на форумах хуйню о том, что классы не нужны на самом деле все мы тут понимаем, что такие дауны как ты просто не смогли понять что это такое, также что такое инкапсуляция, наследование, полиморфизм и т.д. и пишут свое "важнейшее экспертное мнение", не важно с каким уровнем абсурда. Вот даже сейчас - нахуй ты сюда приплел сборщик мусора, даун? Ты в курсе, что GC никак не связан с классами и может не присутствовать в оо-языках?

> в котором за него всю работу делает конпелятор
да, ведь я живу в 2018 году, я не использую диски, дискеты и перфокарты, представляешь? Я не пишу код на ассемблере или паскале или ПЛ-1. Я пишу актуальные вещи на актуальных языках и получаю за это факту хорошие деньги, пока ты несешь хуйню на форумах, не понимаешь что к чему и строишь из себя дебила. Пошел нахуй отсюда, крч.
Аноним 27/10/18 Суб 00:30:32 #12 №1285122 
боже
сделай мемсет в 0 для структуры, у тебя же мусор по указателю
вообще в нормальных реализациях кучи это должно падать
Аноним 27/10/18 Суб 02:20:22 #13 №1285149 
>>1285122
Не должно, он же не разыменует указатель
Аноним 27/10/18 Суб 04:43:34 #14 №1285171 
>>1285071
>классы не нужны
Конечно. Ведь есть прототипы.
Аноним 27/10/18 Суб 07:17:49 #15 №1285183 
>>1284859
>кто-то юзает структуры вместо классов в 2018 году, когда классы в с++ спокойно можно юзать и в ус не дуть
Структуры и классы в с++ это одно и то же.
Аноним 27/10/18 Суб 10:39:16 #16 №1285210 
>>1285071
Чувак, во-первых полиморфизм/инкапсуляция/наследование это самая малая часть ООП которая может быть и если ты используешь объекты только по этим принципам - то ты быдлокодер. Во-вторых в Си не нужно ООП (по моему мнению), потому что там есть указатели, через которые можно реализовать много крутых фич. В-третьих Джава (как и многие другие высокоуровненвые языки) работает из-под ВМ, поэтому писать на ней компилятор, к примеру - тупо.

И не нужно навязывать свое мнение по поводу того что везде должно быть ООП. Это не единственная актуальная парадигма.
Аноним 27/10/18 Суб 10:41:00 #17 №1285212 
>>1284967
Почему обезьяна? На высокоуровневых языках тоже тяжело писать. Там куча паттернов, сахара, широкая философия
Аноним 27/10/18 Суб 18:58:46 #18 №1285477 
>>1285071
Нахуй ты это высрал, кретин?

Читай между сторок мой пост выше, там написано:
Есть задача, и нехуй её под свои навыки подстраивать.
Аноним 27/10/18 Суб 19:02:55 #19 №1285480 
>>1285212
Знаю и пишу на высокоуровневых, я микроконтроллерщик, но сейчас я вообще на фулстеке, каждой задаче - свой инструмент.
А обезьяна потому что ведет себя так. От таких и появляются С# для STM32, Python для ESP8266
Аноним 28/10/18 Вск 21:07:06 #20 №1286107 
>>1285071
Я увидел множество форумов где люди срутся, выясняя что же такое ООП и как с ним работать! Охуеть! Один говорит избитые фразы про "инкапсуляцию, наследование, полиморфизм и абстракцию", но это и так все знают, второй говорит что ООП вообще не существует, а это просто красивое название процедурщины, третий вообще хуесосит двух предыдущих. И честно говоря я дезориентирован от такой херни, я просто не понимаю как такое может быть. Кто-нибудь может себе представить как механики обсуждают двигатель внутреннего сгорания и никто толком не может объяснить как он работает, а кто-то из механиков вообще говорит что ДВС это просто красивое название парового двигателя? Вот и получается что нет никакого четкого однозначного ответа, примера о ООП. Можно сколько угодно читать Александреску, Буча и прочих, но так и не найти нормального ответа как работать с ООП правильно, чтобы никто не доебался.
comments powered by Disqus