Бред


Ответить в тред Ответить в тред

<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
180 18 28

Аноним 12/03/19 Втр 15:32:03 1928721821
image.png (31Кб, 803x359)
803x359
Сап /b/, помоги овощу разобраться с Си. Как блять работают эти указатели? Не ебу вообще пиздец. Как я понимаю, wrk означает получить значение (операция разыменования), но это if(wrk) меня убивает. Реквестирую разбор данной функции для долбоебов т.е. для меня желательно в стиле /b/
Аноним 12/03/19 Втр 15:32:59 1928722272
Бля, тут звездочка курсивный текст делает. звездочка wrk означает получить значение (операция разыменования), вот что я имел ввиду
Аноним 12/03/19 Втр 15:34:07 1928722953
звездочка wrk++ в while означает, что с каждой итерацией будет сдвигаться в строке на одно значение вправо?
Аноним 12/03/19 Втр 15:34:53 1928723414
Бамп
Аноним 12/03/19 Втр 15:35:21 1928723655
Бамп
Аноним 12/03/19 Втр 15:35:42 1928723806
Бамп
Аноним 12/03/19 Втр 15:36:20 1928724137
Бамп
Аноним 12/03/19 Втр 15:36:44 1928724378
Бамп
Аноним 12/03/19 Втр 15:37:21 1928724639
Бамп
Аноним 12/03/19 Втр 15:37:23 19287246610
ебаные дауны с Школы 21 кыщ
Аноним 12/03/19 Втр 15:38:07 19287250211
>>192872466
Я ебаный даун с первого курса погромистов
Аноним 12/03/19 Втр 15:38:51 19287252612
Бамп
Аноним 12/03/19 Втр 15:40:08 19287259613
>>192872466
Мы в школе 21 проходим такое на первой недели бассейна, а сейчас уже третья идет и мы занимаемся более важными делами.
Аноним 12/03/19 Втр 15:40:37 19287261714
Памагите
Аноним 12/03/19 Втр 15:41:11 19287264515
Бамп
Аноним 12/03/19 Втр 15:42:12 19287268516
bump
Аноним 12/03/19 Втр 15:42:56 19287271517
>>192872685
Да побампать я и сам смогу блин, где погромисты то ну или хотя бы знающие люди
Аноним 12/03/19 Втр 15:43:06 19287272618
>>192872596
заметно
на двощах сидите
Аноним 12/03/19 Втр 15:45:17 19287282019
taFrai 1.jpg (89Кб, 807x1080)
807x1080
>>192872182 (OP)
На связи, почитай про разыменовыние указателя раздел и поймёшь
про & и *

Я даже не знаю, то есть есть адрес где ты живёшь , а есть ты который там живёт, по этому адресу живёшь ток ты, сосед уже жить там не может, ибо тогда он соседом не будет... ну или ебнет тебя и пропишется в твоей хате...

я не знаю как тебе пояснить, общем всё очень легко. просто берёшь и понимаешь
Аноним 12/03/19 Втр 15:46:43 19287288020
>>192872820
Можешь хотя бы объяснить по функции, как конкретно она работает? Я на примерах обычно хорошо понимаю. Вот это if(*wtr) меня вообще убило.
Аноним 12/03/19 Втр 15:47:29 19287292521
taFrai 1.jpg (89Кб, 807x1080)
807x1080
Аноним 12/03/19 Втр 15:47:30 19287292622
>>192872182 (OP)
Охуенная функция
2 пробела - збс
1 пробел - пустая строка
0 пробелов - зависли.

Не учись по такой хуйне.
Аноним 12/03/19 Втр 15:48:48 19287298423
>>192872926
Препод - старпер 50+, он так сука пишет. Я подобной хуйней не занимаюсь операторные скобки - мое все и правило 4 пробелов
Аноним 12/03/19 Втр 15:48:51 19287298724
taFrai 1.jpg (89Кб, 807x1080)
807x1080
>>192872182 (OP)
читай предусловие, синим шрифтом, там объяснение по функции
постусловия нету, но если написавший его оставил, то он молодец. Я обычно по мимо предусловий, писал постусловия, обычно в коде там же где и предусловие функции
Аноним 12/03/19 Втр 15:49:49 19287303325
Passport1.png (1912Кб, 1285x1280)
1285x1280
>>192872987
Лёша, где стримы с дотой?
Аноним 12/03/19 Втр 15:49:54 19287303926
>>192872987
Заебала эта рожа тухлая. Прекрати форсить.
Аноним 12/03/19 Втр 15:49:57 19287304227
>>192872987
Охуенно, как же я не догадался почитать условие. НУ ТЕПЕРЬ ТО ВСЕ СТАЛО ЯСНО.
Аноним 12/03/19 Втр 15:50:35 19287307328
>>192872182 (OP)
IF ( )
то что в скобках приведётся к значению Булевому, то есть двоичному. Так вот если там 0 то это FALSE любое другое значение TRUE
Аноним 12/03/19 Втр 15:51:04 19287309929
Лёша Горбуньков.jpg (103Кб, 807x1080)
807x1080
>>192873039
>Заебала эта рожа тухлая. Прекрати форсить.
Аноним 12/03/19 Втр 15:51:15 19287311330
taFrai 1.jpg (89Кб, 807x1080)
807x1080
Ну пока я наткнулся на твой тред, тебе повезло... Я реально по С++ отвечу тебе и пойду в дота2 стримы катать, да, гг
Аноним 12/03/19 Втр 15:51:17 19287311631
>>192872984
>скобки
Инкремент выполняется раньше разыменовования. Это терпимо, и, вроде, часто используется сам не смотрел, где-то читал.
Аноним 12/03/19 Втр 15:51:31 19287312732
>>192873073
Я как понял, if(*wtr) даст 1, если можно взять значение.
Аноним 12/03/19 Втр 15:52:52 19287320033
Вот если я, допустим, возьму строку ab cd ef, как по ней отработает программа по шагам?
Аноним 12/03/19 Втр 15:53:09 19287321534
14082017.png (187Кб, 624x628)
624x628
>>192873113
>Я реально по С++ отвечу
Где стримы, заебал, говно?
Аноним 12/03/19 Втр 15:53:45 19287324435
Я хочу понять блять но не понимаю, от препода помощи - хуй с маслом, если и объясняет, то заученными фразами-понятиями, шаг влево от них - какая-то псевдоумная околесица.
Аноним 12/03/19 Втр 15:55:29 19287333236
8C9B2DE6-A62A-4[...].png (100Кб, 1195x537)
1195x537
>>192872182 (OP)
Ебать ты дебич. У тебя в 17 и 19 строке ошибка. Сам смотришь что пишешь?
Аноним 12/03/19 Втр 15:55:43 19287334637
>>192872926
А нет, не збс. Функция данную строку обрезает. Пиздец.
Аноним 12/03/19 Втр 15:56:49 19287340138
>>192873346
Ну там смысл вернуть указатель на подстрочку, НО Я НЕ ПОНИМАЮ, КАК ОНИ РАБОТАЮТ точнее представляю это кое-как, но точно как - нет
Аноним 12/03/19 Втр 15:58:38 19287348439
>>192872984
у препода походу деменция развивается, если он вам такую лажу выдает, поищи нормальную литературу и учись по ней.
Аноним 12/03/19 Втр 15:59:58 19287354440
>>192873484
У меня завтра кр, задачи будут подобные. Раз тридцать подходил за объяснениями по поводу этих указателей и каждый раз слышал одно и то же. Литература это хорошо конечно, но мне сейчас нужно понять хотя бы это.
Аноним 12/03/19 Втр 16:00:36 19287357141
>>192873484
Ну и про деменцию - это да, хз, почему они так долго остаются в вузах, когда могут съебать на пенсию наверное
Аноним 12/03/19 Втр 16:03:15 19287369342
taFrai 1.jpg (89Кб, 807x1080)
807x1080
ОП ты хочешь понять что такое указатели?
А листинг кода тут просто как пример, того, что ты не понимаешь?
Аноним 12/03/19 Втр 16:04:07 19287375143
>>192873693
Охуенный форс, братан, но давай как-нибудь в другом треде.
Аноним 12/03/19 Втр 16:05:56 19287382644
>>192873693
Опиши ему построчно разъяснение примера из ОП-опста.
Аноним 12/03/19 Втр 16:06:38 19287387245
taFrai 1.jpg (89Кб, 807x1080)
807x1080
>>192873751
я так понял, понимать ты ничего не хочешь
а тред создал , чтоб побугуртить
???

Аноним 12/03/19 Втр 16:08:18 19287396146
>>192873826
Его максимум - форсить охуенный мемас.
Аноним 12/03/19 Втр 16:08:54 19287399247
15440445125220.jpg (37Кб, 480x720)
480x720
>>192873693
>>192873872
Мудила, где стримы?
Давай пиздуй стримить дотку или я вызову отряд полиции к тебе домой.
Аноним 12/03/19 Втр 16:09:17 19287400948
taFrai 1.jpg (89Кб, 807x1080)
807x1080
Аноним 12/03/19 Втр 16:11:31 19287411049
Passport1.png (1912Кб, 1285x1280)
1285x1280
>>192874009
ладно, пидарас, жди гостей
Аноним 12/03/19 Втр 16:12:40 19287416850
>>192874009
Про инкремент я уже и так догадался. Как я понял, указатель - это как палец, который указывает на какой-то элемент (если брать пример на строке). Допустим строка p="abc", то p будет "a", а p+1 - "b". Верно же мыслю?
Аноним 12/03/19 Втр 16:13:23 19287419751
>>192873401
>НО Я НЕ ПОНИМАЮ, КАК ОНИ РАБОТАЮТ
Что именно? Что чар - это чар. А звёздочка чар - это указатель?
Аноним 12/03/19 Втр 16:13:36 19287420252
ебаный блять двощ, везде звездочки убрал.
p="abc"
звездочка p - "a"
звездочка p+1 - "b"
Аноним 12/03/19 Втр 16:13:58 19287422253
>>192874197
На данный момент конкретно не понимаю строку if(*wtr)
Аноним 12/03/19 Втр 16:14:48 19287426954
Аноним 12/03/19 Втр 16:15:44 19287431655
>>192872182 (OP)
Когда пишешь со звёздочкой - работаешь со значением, на которое указывает указатель.
Без звёздочки - с самим указателем.
if (∗wrk) - проверка, не является ли символ по указателю нулевым.
>>192872295
Указатель будет сдвигаться на одну ячейку вправо. Размер ячейки зависит от типа указателя, в данном случае char - 1 символ, указатель будет увеличиваться на 1.
Аноним 12/03/19 Втр 16:16:11 19287433656
>>192874202
>ебаный блять двощ, везде звездочки убрал.
Держи ∗∗∗∗∗∗∗
Аноним 12/03/19 Втр 16:16:50 19287436557
>>192874269
Да я как пример же, ну. если строка p это массив символов abc, то указатель на p - символ a
Аноним 12/03/19 Втр 16:17:14 19287438058
Аноним 12/03/19 Втр 16:17:47 19287439859
>>192874168
Верно, аналогия с пальцем хорошая, у тебя есть все шансы понять суть.
Аноним 12/03/19 Втр 16:18:34 19287442860
>>192874365
Нет, ты не прав. Массива нет. p - и есть указатель.
Аноним 12/03/19 Втр 16:19:31 19287447561
>>192874365
>то указатель на p - символ a
Указатель - это указатель. А вот когда ты разыменовываешь указатель (в том же условии if (∗wrk) ... ) - ты получаешь значение, на которое указывает указатель, и с ним работаешь.
Аноним 12/03/19 Втр 16:19:50 19287449662
taFrai 1.jpg (89Кб, 807x1080)
807x1080
>>192874222
IF()
писал же выше
>>192873073

этот цикл у тебя работает со строкой, когда он натыкается на конец строки, он заканчивает свою работу

(про ошибки пока ничего не пишу, пока не важно)
Аноним 12/03/19 Втр 16:19:55 19287450263
>>192874428
Черт. Да я знаю, что строк нет, и что объявление массива само по себе объявление указателя на первый элемент типа, но я же блин на примере строки попытался объяснить, что я понимаю.
Аноним 12/03/19 Втр 16:20:20 19287452464
>>192874428
Массива - как структуры, которой ты можешь управлять. Только указатели.

так то массив есть, но у тебя на него есть только указатель

фикс
Аноним 12/03/19 Втр 16:20:53 19287454765
>>192874475
Как я понимаю запись со звездочкой и есть операция разыменования, поэтому и написал, что *p есть символ "а".
Аноним 12/03/19 Втр 16:20:57 19287455066
>>192874502
А. Тогда ладно. Что ты не понимаешь?
Аноним 12/03/19 Втр 16:21:31 19287456967
>>192872182 (OP)
Хотел бы президента России программиста
Аноним 12/03/19 Втр 16:21:34 19287457368
>>192874547
Чар в одинарных кавычках, если что
Аноним 12/03/19 Втр 16:22:59 19287463769
>>192874573
Апострофах, ты хотел сказать? не надо меня исправлять на такой банальщине, прошу
Аноним 12/03/19 Втр 16:23:37 19287466170
Аноним 12/03/19 Втр 16:23:49 19287467171
>>192874428
>Массива нет
Есть string literal, который где-то в памяти сидит. И есть переменная p, которая является указателем и при инициализации char ∗p = "abc" содержит адрес первого символа строкового литерала "abc".
>>192874547
>запись со звездочкой и есть операция разыменования
Да.
>поэтому и написал, что *p есть символ "а".
Сейчас ты написал правильно, а до этого написал "указатель на p - символ a" - это неправильно.
Аноним 12/03/19 Втр 16:24:21 19287469572
>>192874550
Саму работу с ними. Сейчас потихоньку вроде как вкатился, спасибо. Но вот вопрос еще - *wrk=str-1 - это он как бы образует пробел перед строкой?
Аноним 12/03/19 Втр 16:25:15 19287473373
>>192874671
Верно подметил, но имел ввиду я именно то, что написал во второй раз. Оплошал.
Аноним 12/03/19 Втр 16:25:53 19287477274
>>192874695
wrk = str;
wrk--;

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

>это он как бы образует пробел перед строкой
Что?
Аноним 12/03/19 Втр 16:26:24 19287479775
>>192874772
>Отступает на один чар назад, чтобы потом было удобнее итерироваться
this
Аноним 12/03/19 Втр 16:28:02 19287486076
>>192874695
>*wrk=str-1 - это он как бы образует пробел перед строкой?
Нет, это он так через жопу обходит то, что дальше в цикле у него wrk++.
Причём, по-моему, там баг, потому что используется пост-инкремент и код при первом выполнении цикла будет пытаться проверить символ за пределами строки, а это undefined behaviour.
Вообще на будущее - такие задачи надо задрочить до автоматизма, но писать так никогда ни в коем случае не надо, есть stl.
Аноним 12/03/19 Втр 16:28:13 19287486877
image.png (30Кб, 573x362)
573x362
Финальный вопрос. Как работает сдвиг хвоста в этой программе? То, что последний while
Аноним 12/03/19 Втр 16:29:57 19287495178
>>192874860
>Причём, по-моему, там баг, потому что используется пост-инкремент и код при первом выполнении цикла будет пытаться проверить символ за пределами строки, а это undefined behaviour.
Бляяя, я это не заметил. Стыд и срам мне.
В своё оправдание там баг на баге и багом погоняет.
мимо неОП
Аноним 12/03/19 Втр 16:30:53 19287500179
>>192874868
Неужто программисты в 2к19 сидят и всю эту ебалу вручную пишут? Сейчас наверняка нейросети все это делают
Аноним 12/03/19 Втр 16:31:34 19287503580
Жмога, ты? Когда на дом в Бухаресте накопишь?
Аноним 12/03/19 Втр 16:31:50 19287505181
>>192875001
Я себя бы даже близко погромистом не назвал бы. Второй семестр начали только строки насиловать.
Аноним 12/03/19 Втр 16:32:56 19287511782
>>192874868
Хоспаде, какой пиздец... щас распишу, сек.
Аноним 12/03/19 Втр 16:33:32 19287514483
>>192875117
Мне неловко прям уже, на самом то деле. Но я действительно хочу это понять.
Аноним 12/03/19 Втр 16:35:26 19287523284
>>192875144
> понять.
В этом твоя проблема. "Понять" это не про математику или программирование. "Понять" это для теоретиков, а на практике нет никакого "понять". Когда ты пишешь код, ты сталкиваешься именно с практикой, и пытаешься "понять".
Аноним 12/03/19 Втр 16:36:01 19287525985
Аноним 12/03/19 Втр 16:37:00 19287530686
>>192875232
Да я уже столько раз пожалел, что поступил на техническую специальность, не сосчитать. Лучше бы на филолога пошел, ей богу.
Аноним 12/03/19 Втр 16:39:42 19287542587
>>192875306
Да тут не в специальности дело, а в том, что очень хуёво преподают, очень хуёво объясняют. Причём объяснить по-нормальному не могут в принципе, ни за какие деньги. Мой тебе совет: возьми бумажку и нарисуй на ней, что должно происходить, что происходит. Не пиши словами, именно нарисуй, и нет, не в виде таблички или блок-схемы, потому что табличка или блок схема это по сути текст.
Аноним 12/03/19 Втр 16:40:29 19287545788
>>192875425
>Причём объяснить по-нормальному не могут в принципе
Да это мы в коде видим.
мимо
Аноним 12/03/19 Втр 16:41:04 19287548889
>>192875051
ОП, где учишься? Я в своей шараге в 1 семестре щас весь С прошел, но кстати с указателями так и не смог разобраться в полной мере.
Аноним 12/03/19 Втр 16:41:13 19287549690
>>192875144
Да всё норм, тут же никто никого не заставляет отвечать.

while ((ins++ = SS++))
По-порядку:
1. сначала выполняются операторы ++ (см. c++ operator precedence). Результат постфикс ++ оператора - значение операнда ДО инкремента, т.е. в выражении будут использованы не инкрементированные значения указателей, а инкремент произойдёт после вычисления выражения.
2. Выполняются разыменования
3. Выполняется присваивание (в память по указателю ins (ДО инкремента, не забываем)) записывается значение, взятое по указателю SS
4. Результатом оператора = является ссылка на левый операнд. Эта ссылка будет использована в условии while, т.е. в конечном итоге значение по указателю ins будет приведено к bool и, пока там будет не 0, цикл будет продолжаться.
В итоге имеем эдакое копирование строки с одновременной проверкой на конец строки, и всё это в одном условии.
В молодости меня такие конструкции восхищали, но сейчас мне после овер 15 лет опыта с С++ пришлось гуглить, чтобы сообразить, как оно должно работать. И не факт ещё, что я ничего не упустил. Именно поэтому так писать не нужно.
Аноним 12/03/19 Втр 16:41:58 19287553791
>>192875425
Годный совет, взял на заметку. По поводу преподавания - соглашусь отчасти. По мат. логике и теории алгоритмов нам годно все объясняют, включая примеры из современных игр про детроит, например. По проге да, жесть. Объясненией толком нет.
Аноним 12/03/19 Втр 16:42:29 19287555992
>>192875488
ТУСУР, Си у нас на весь первый курс.
Аноним 12/03/19 Втр 16:43:37 19287561093
>>192875496
>И не факт ещё, что я ничего не упустил.
Да, вроде, всё нормально.
мимо
Аноним 12/03/19 Втр 16:44:37 19287565694
>>192875559
Ахуеть, в него за полгода (1 семестр) при желании можно вкатиться. Ну одну книжку прочитать, как минимум. Че там целый год изучается я хз, тем более вы, как я понял, только указатели дрочите
Аноним 12/03/19 Втр 16:44:55 19287566995
>>192875488
Повезло вам, хотел бы более размеренно его учить
Аноним 12/03/19 Втр 16:45:53 19287571196
>>192875656
Дрочим их третью практику, с разной степенью успешности. Препод - совок эдишн, думаю, такая медлительность растет ногами отсюда.
Аноним 12/03/19 Втр 16:48:12 19287581197
>>192875496
Спасибо, анон! Скопировал себе как памятку.

Абу благословил этот пост.
Аноним 12/03/19 Втр 16:50:24 19287591998
>>192875537
>По проге да, жесть. Объясненией толком нет.
Что мешает скачать какой-то годный курс по програмированию на С или даже просто в ютубчике посмотреть?
Аноним 12/03/19 Втр 16:50:41 19287593499
А вообще, ОП, смотри сюда. Каждая переменная в C состоит из 2-х частей: r-value и l-value. L-value - это location-value, адрес. R-value - это read-value, то, что в этой переменной записано. Звёздочка (астериск по-умному) заставляет условного гномика, который бегает по твоему коду от команды к команде, выполняя их, обращаться к r-value.
Аноним 12/03/19 Втр 16:51:13 192875960100
>>192875919
Потому что это ничего не даёт.
Аноним 12/03/19 Втр 16:51:55 192875994101
Аноним 12/03/19 Втр 16:52:17 192876017102
>>192875919
Потому что заинтересованности в образовании толком нет. Пока что уровень, на котором я хочу барахтаться - то, что даст вуз. Будет интерес - тогда и возьмусь.

мимоОП
Аноним 12/03/19 Втр 16:52:27 192876021103
>>192874860
>есть stl
>stl
>standard template library
>разобраться с Си
Аноним 12/03/19 Втр 16:53:14 192876057104
>>192875934
А за l-value отвечает гномик-амперсант?
Аноним 12/03/19 Втр 16:53:48 192876092105
>>192875960
>Потому что это ничего не даёт.
Что не дает то? Что оно должно тебе дать? Покурить видосики с указателями. Поделать примеры. Разобраться. Попытаться понять говнокод препода.
Аноним 12/03/19 Втр 16:54:16 192876114106
>>192876021
Я сомневаюсь, что у ОПа стоит задача научиться именно чистому C без плюсов. Куда вероятнее, у него просто программа вуза так построена.
Аноним 12/03/19 Втр 16:54:21 192876117107
>>192876057
Нет, гномик всегда один.
Аноним 12/03/19 Втр 16:55:30 192876178108
>>192876092
Будет так, что теорию знаешь аж от зубов отскакивает (если ОП старательный), а как до практики дойдёт, то делаешь как взбредёт в голову, индус-стайл.
Аноним 12/03/19 Втр 16:55:36 192876185109
>>192876117
Объяснение уровня /b/, как я и просил, спасибо. реально стало попроще
Аноним 12/03/19 Втр 16:56:48 192876247110
Аноним # OP 12/03/19 Втр 16:57:46 192876282111
ОП-галка, работай, блеать.
Аноним 12/03/19 Втр 16:57:49 192876284112
>>192876017
>Пока что уровень, на котором я хочу барахтаться - то, что даст вуз.
Бле. Сам же на двощ пришел с вопросами. Если ты не понимаешь то что объясняет припод то ты не будешь барахтаться, ты просто утонешь. Но дело твое конечно. Ты поступил в вуз. Учишь програмирование. Нихуя не понимаешь. Проебываешь время...
Аноним # OP 12/03/19 Втр 16:58:03 192876299113
Спасибо, Абу
Аноним # OP 12/03/19 Втр 16:58:49 192876335114
>>192876284
Да, все именно так. По сути, мне оттуда нужна только корка - не вижу я себя в программировании.
Аноним 12/03/19 Втр 17:01:15 192876446115
Аноним 12/03/19 Втр 17:02:19 192876507116
>>192876178
>а как до практики дойдёт, то делаешь как взбредёт в голову
Ну это лечится практикой. Или работой с толковым программистом конечно если есть желание. Если нет то велком в макакинг.
Аноним 12/03/19 Втр 17:04:02 192876596117
>>192876507
Очень нелегко порой соединить теорию с практикой. Именно на этом обламывается большинство технарей, не только программистов.
Аноним 12/03/19 Втр 17:04:02 192876598118
>>192876446
Я студент-погромист.
>>192876507
Чувствую, что мак - мое призвание ну или покупать седло для более удобного сидения на шее у родителей
Аноним 12/03/19 Втр 17:04:26 192876620119
>>192876507
>это лечится практикой
Нет, это лечится толковыми книжками по code style, best practices и design patterns. Иначе очень большая вероятность так и застрять на каком-то начальном уровне, пытаясь вручную расставлять нули в строках.
Аноним 12/03/19 Втр 17:04:34 192876628120
>>192875994
Так так и есть.
Он какую-то хуйню написал про location и read.
>The name of this value category ("left value") is historic and reflects the use of lvalue expressions as the left-hand operand of the assignment operator in the CPL programming language.
https://en.cppreference.com/w/c/language/value_category
про right сказано только в документации к с++.
>an rvalue (so-called, historically, because rvalues could appear on the right-hand side of an assignment expression) is a prvalue or an xvalue.
Аноним 12/03/19 Втр 17:07:15 192876748121
>>192872880
>if(*wtr)
Проверяет не нулевое ли значение лежит по адресу wtr.
Аноним 12/03/19 Втр 17:07:50 192876780122
>>192876335
> По сути, мне оттуда нужна только корка - не вижу я себя в программировании.
Так тем более. Зачем тебе ломать голову над невнятными объяснениями препода. Сам говорил что 30 раз спрашивал. В разы проще наверное разобраться по видосикам, примерам. Поделать что-то, понять. Или ты хочешь зафейлить вуз? Тогда совсем не понимаю.
Аноним 12/03/19 Втр 17:08:07 192876793123
image.png (19Кб, 200x218)
200x218
Аноним 12/03/19 Втр 17:08:40 192876821124
>>192876620
>работой с толковым программистом конечно если есть желание
Аноним 12/03/19 Втр 17:08:58 192876836125
>>192876780
У меня просто еще были надежды, что он что-то способен объяснить. К егэ я готовился исключительно по видосам с тубчика, поступил на бюджет. Видимо, придется возвращаться к нему снова.
Аноним 12/03/19 Втр 17:10:16 192876910126
>>192875496
4. Во-первых, в си нет понятия "ссылка". Во вторых, в условии будет проверяться не адрес, а значение по адресу. В-третьих, никаких преобразований к bool в си не приводится
Аноним 12/03/19 Втр 17:10:44 192876936127
>>192872926
А если str == NULL, то вообще креш
Аноним 12/03/19 Втр 17:11:10 192876967128
>>192876821
Ну так бы и писал, потому что практика не всегда подразумевает работу с толковым программистом, который тебе код поревьювит, даст по рукам за говнокод, и скажет, какие книжки прочитать.
Аноним # OP 12/03/19 Втр 17:11:14 192876970129
Я пойду пожалуй с песиком прогуляюсь, потом все увижу и на все отвечу. Спасибо большое за объяснения, советы, без вас навряд ли бы понял.
Аноним 12/03/19 Втр 17:12:04 192877017130
>>192875559
пиздишь псина, учился в 12 году, там уже все на шарпе кодили
Аноним 12/03/19 Втр 17:13:26 192877088131
>>192876936
Not null функции это терпимо, но да.
Аноним 12/03/19 Втр 17:15:07 192877200132
>>192876967
Ну внезапно если ты написал говнокод, а потом надо его расширять, добавлять функционал и обнаруживаешь, что для того чтобы это сделать надо нахуй все переписывать с нуля то если не совсем дурак начинаешь думать об оптимизации.
Аноним 12/03/19 Втр 17:15:55 192877249133
>>192877088
>Not null функции это терпимо
assert(str != NULL)
Аноним 12/03/19 Втр 17:17:12 192877333134
>>192877200
А вот ВНЕЗАПНО многие (особенно индусы этим страдают) вместо рефакторинга и оптимизации начинают городить костыли, копипаст и говнокод, потому что это на первый взгляд проще, чем переписывать уже работающую, с таким трудом высранную программу.
Аноним 12/03/19 Втр 17:18:56 192877424135
>>192876836
>У меня просто еще были надежды, что он что-то способен объяснить
Да на этих старых пней которые толком нихуя не объяссняют вообще надежды ноль. Я еще в школе от таких настрадался.
Аноним 12/03/19 Втр 17:19:20 192877449136
>>192877333
Работает- не трогай. Хороший код никому не выгоден. Заказчик один хуй не понимает, а твой работодатель заинтересован лишь в получении денег. Переписывать в любом случае будешь не ты.
мимо 80к жс макака
Аноним 12/03/19 Втр 17:22:05 192877605137
>>192877249
>assert
Сорри, ничего не знаю про ассерты в pure c.
Я не настоящий сварщик. Я даже не учусь
Аноним 12/03/19 Втр 17:22:18 192877619138
>>192877449
К сожалению, это та философия, которой следуют очень многие. И вновь пилятся велосипеды, и вновь летят дедлайны.
Аноним 12/03/19 Втр 17:23:07 192877658139
>>192872182 (OP)
Крч, передал в функцию указатель на строку str (строка где-то лежит в памяти на начало которой указывает str (гугли организацию Си массивов), копировать всю строку не продуктивно.
1. Определяешь указатель на строку ptr (это предписание компилятору выбрать тип, который может хранить значение указывающее на начало Си строки) и указатель wrk указывающий на 1 элемент char(байт) перед началом строки str. (Если str не инициализированно или NULL, то риск получить в колено из-за нарушений доступа к памяти).
2. Цикл, пока текущий элемент char (символ) на который указывает wrk не равен пробелу, ты перемещаешь указатель wrk на один элемент вперед (да ты переходишь на след символ, грубо говоря).
3. Устанавливаешь ptr на тот же элемент, что остановился wrk после завершения цикла. Это или пробел или какой-нибудь потенциальный краш, ничто не мешает вылезти тебе за пределы массива строкового, если нет пробела.
4. Пока wrk не равен 0 (конец Си строки) и не равен пробелу ты так же лазаешь по строковому массиву. Тебе уже сложнее выйти за пределы строки, но если ты в первом цикле вышел - то пизда.
5. За пределами пробела ставишь конец строки, затирая исходную строку! Иначе ты затираешь концом строки первый пробел.
Аноним 12/03/19 Втр 17:23:27 192877682140
>>192877658
Короче так делать не надо.
Аноним 12/03/19 Втр 17:32:23 192878171141
>>192875934
А int cont x = 12; l-value или r-value?
Аноним 12/03/19 Втр 17:32:54 192878200142
Аноним 12/03/19 Втр 17:34:16 192878269143
>>192878171
В r-value будет лежать 12; в l-value будет находиться адрес, по которому лежит 12;
Аноним 12/03/19 Втр 17:39:52 192878560144
>>192874868
1. ins у тебя указывает на 1 элемент подстроки в твоем строковом массиве.
2. SS указывает на смещение с 1 элемента подстроки на длину этой подстроки. Т.е. на 1 элемент ЗА подстрокой искомой.
3. Ты берешь ins (первое значение подстроки) и записываешь на его место SS (первое значение за подстрокой). Далее смещаешь ins на 1 элемент вперед и SS на 1 элемент вперед (++) и копируешь следующий. Формально посимвольное копирование. До символа \0 (значение 0, условие цикла станет не действительным и он прервется. Все значения отличные от 0 продолжат копирование/выполнение цикла).
Аноним 12/03/19 Втр 17:40:44 192878607145
>>192877449
Хороший код выгоден тебе. С хорошим кодом ты проестимейтишь задачу на неделю, сделаешь за 2 дня и будешь спокойно двач скроллить в оставшееся время. С плохим кодом ты через неделю поймёшь, что тут ещё на две недели работы, а тимлид уже косо смотрит, потому что ты проёбываешь сроки не в первый раз.
Аноним 12/03/19 Втр 17:42:14 192878685146
>>192878607
Хаха, влажные мрии. Твой код всегда хуёвый, это аксиома. Или иначе можно сказать "твой код хорош лишь до какого-то определённого момента, а после него - он уже хуёвый".
Аноним 12/03/19 Втр 17:43:02 192878721147
>>192872182 (OP)
Почитай на Ravesli про указатели. Да, там по С++, но может поможет лучше понять.
Аноним 12/03/19 Втр 17:43:54 192878753148
>>192877449
Если тебе не поддерживать и не расширять свой код. Мне по работе часто приходится доделывать функционал. Так как заказчики часто изначально не понимают что им конкретно надо и какие возможности предоставляет готовый продукт. Плюс зачастую в процессе эксплуатации появляются у них куча пожеланий и идей.
Аноним 12/03/19 Втр 17:44:49 192878802149
>>192878685
Да, любой код стремиться к эталонной говнистости, мимо >192878753 анон
Аноним 12/03/19 Втр 17:50:11 192879078150
>>192878685
Нихуя не влажные. Простой пример: мне надо было запилить систему учёта лицензий для проекта, чтобы лицензия бралась из пула и освобождалась после закрытия соответствующего окна в программе. Я заебашил класс, унаследовал его от QObject, в конструкторе забирал лицензию из пула, в деструкторе отдавал. Привязал его к нужным окнам через QObject(parent), и всё автоматом работало, привязка любого нового окна к лицензии в одну строку делалась, легко и просто. Само собой, случай, когда софтина закрашилась, отдельно обрабатывался.
А если бы городил копипаст с вызом освобождения лицензии вручную во всех нужных местах - заебался бы баги разгребать.
Так что не прав ты.
Аноним 12/03/19 Втр 17:50:36 192879094151
>>192878753
>Так как заказчики часто изначально не понимают что им конкретно надо и какие возможности предоставляет готовый продукт. Плюс зачастую в процессе эксплуатации появляются у них куча пожеланий и идей.
Ты только что agile.
Аноним 12/03/19 Втр 17:52:42 192879190152
>>192877017
Смысл пиздеть? Направление - Информатика и вычислительная техника. Мб у вас на программной инженерии было иначе или еще на каких направлениях, у нас - так.
>>192877424
В моем мани-мирке вуз должен был отличаться от школы как раз этим. Отчасти правда, конечно, но мани-мирок уже дал трещину.
>>192877658
По поводу второго пункта. Разве цикл не должен сразу же дропнуться, ведь wrk изначально задан пробел (str-1)
>>192878560
Тут все понял, спасибо!
Аноним 12/03/19 Втр 17:55:21 192879324153
>>192879078
ты только что ООП

>>192879190
>Информатика и вычислительная техника
сцука, наёбываешь же? я там учился. кто препод по матеше? если бабка старая нахарчи ей в ебало. общага 4?
Аноним 12/03/19 Втр 17:56:13 192879360154
>>192879190
>изначально задан пробел
Почему у тебя это в голове?
Аноним 12/03/19 Втр 17:57:49 192879445155
>>192879190
>ведь wrk изначально задан пробел (str-1)
С чего ты взял, что в str-1 пробел?
Если str - начало строки, то по адресу str-1 может находится всё что угодно, в том числе неинициализированная или не выделенная память. Я про это писал - будет undefined behaviour. Пока str-1 попадает в адресное пространство процесса и там случайно оказывается что-то, кроме пробела - будет работать как задумано. Случайно попадётся пробел - цикл будет сразу завершаться.
Случайно str-1 выйдет за пределы адресного пространства процесса - крашнется. Не будет пробелов в строке - undefined behaviour, выйдет за пределы строки (потому что проверки на ноль нет) и будет выполнять цикл, пока не найдёт пробел дальше в памяти, или не крашнется.
Аноним 12/03/19 Втр 17:57:53 192879450156
>>192879324
ААХХААХХАХААХ. Не, у нас не Павлова. У меня подруга на РТФ учится, она с ней страдает. Нас ведет Магазинников, пиздатый преподаватель.
>>192879360
Пока писал ответ понял, о чем ты. Спасибо второй раз! :D
Аноним 12/03/19 Втр 17:58:10 192879460157
>>192879324
>ты только что ООП
БИНГО!
А паттерн какой?
Аноним 12/03/19 Втр 17:58:11 192879461158
Все-все, я понял, что там не пробел.
Аноним 12/03/19 Втр 17:58:27 192879477159
Аноним 12/03/19 Втр 18:00:10 192879564160
>>192879477
Тред не читал, но двадцатый пост прочитал
Аноним 12/03/19 Втр 18:00:56 192879592161
>>192879564
Я ответы быстро просмотрел на тред. Не еби мозг.
Аноним 12/03/19 Втр 18:02:54 192879707162
>>192879564
Не читал двадцатый пост, что там?
Аноним 12/03/19 Втр 18:03:28 192879733163
Аноним 12/03/19 Втр 18:05:16 192879820164
>>192879707
Там очень важное, анон. Если не перечитаешь - ты будешь потом жалеть всю свою жизнь, что не перепрочитал.
Аноним 12/03/19 Втр 18:08:37 192879993165
>>192879733
>>192879820
Спасибо, анончики! Прочитал двадцатый пост, моя жизнь поменялась к лучшему, все баги исправились сами собой, брат воскрес, хуй на 5 см увеличился.

Абу благословил этот пост.
Аноним 12/03/19 Втр 18:10:06 192880061166
Аноним 12/03/19 Втр 18:10:33 192880083167
>>192879993
Двач - профессиональное решение проблем.
Аноним 12/03/19 Втр 18:12:41 192880203168
>>192872182 (OP)
Ты че долбоеб ?
2к19 за окном, какой нахуй си ?
Аноним 12/03/19 Втр 18:14:03 192880276169
>>192880203
Черт, как жалко, что ты не составляешь программу вузов по подготовке бакалавров, уж с тобой то мы плюсы за семестр выучили.
Аноним 12/03/19 Втр 18:18:36 192880518170
>>192880276
На втором курсе универа в 2012 году, когда нам сказали, что мы будем учить си следующие 5 лет, я сказал преподу, что рот ебал это старье и он разрешил мне выбрать любой другой, и делать задания и лабы на нем.
Так я пересел на питон, синтаксис учил дома, а в универе занимался логикой вместе со всеми
Аноним 12/03/19 Втр 18:19:38 192880566171
Аноним 12/03/19 Втр 18:19:55 192880578172
>>192880518
Препод по программированию кто был?
Аноним 12/03/19 Втр 18:22:50 192880714173
>>192880578
Препод по программированию был преподом по программированию. Азаза!
Аноним 12/03/19 Втр 18:23:44 192880751174
>>192880578
Александр Владимирович и Юлия Геннадиевна
Аноним 12/03/19 Втр 18:24:10 192880773175
image.png (338Кб, 600x600)
600x600
Аноним 12/03/19 Втр 18:24:52 192880811176
>>192880751
Ля, мне бы по фамилиям. Но они наверное уже не преподают. У нас Сибилев, будь он здоров.
Аноним 12/03/19 Втр 18:59:53 192882510177
>>192879445
Тут вся программа работает на честном слове, что в явно заданном строковом массиве хотя бы 1 пробел есть. Вся суть древних преподов. Хотя нас учили еще круче, мы с преподом лабу мою на сях запустить даже не смогли, лол
Аноним 12/03/19 Втр 19:03:32 192882694178
>>192879445
>undefined behaviour
>выйдет за пределы строки
Перечитай что такое UB.
Аноним 12/03/19 Втр 19:41:10 192884673179
>>192882694
А выход за пределы массива/выделенной динамически(или статически в случае с константами) памяти не является UB?
Ну-ка найди мне определение такого поведения в стандарте си.
Можешь даже в с++ поискать.
Аноним 12/03/19 Втр 19:43:07 192884779180
>>192884673
Видимо я написал как ебаклак
>UB
>выйдет за пределы строки (потому что проверки на ноль нет) и будет выполнять цикл, пока не найдёт пробел дальше в памяти, или не крашнется.
UB - это UB, адекватного поведения программы можешь не ожидать, твои предположения оправдаться не обязаны.
Я вот что имел ввиду.
Аноним 12/03/19 Втр 19:46:02 192884934181
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 20Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
X
Ваш шидевор X
Стикеры X
Топ тредов
Избранное