LINUX.ORG.RU

Несколько вопросов новичка по Си

 , ,


0

3
  1. Как работает указатель?
  2. Функция sub получает делимое и вычитает из него делитель Она ничего не возвращает и просто меняет значение переменой по указателю. Но когда вызываю функцию, приходится указывать & и имя переменной. Нельзя ли просто передать переменную и почему?
    void sub(int* f, int g)
    {
      *f = *f - g;
    }
    
    int main(void)
    {
      int number = 15, div = 7;
      sub(&number, div);
      printf("%d\n", number);
      return 0;
    }
  3. Насколько этот код говно? Что стоило бы исправить? Спасибо!
★★

Ответ на: комментарий от Iron_Bug

Вот как раз указатели и нужны, иначе многие даже на первом курсе (ну или при попытке что-то сделать дальше скопированного hello world) не понимают, как работает ПК.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

когда совсем не понимают - это хорошо: они не пойдут в программирование. нам очень повезло, что основной шлак из современных «вузов» уходит в продаваны. хуже, когда что-то понимают, что-то не понимают, но продуктивно говнокодят.

а тут как раз ТС задал вопрос про те самые указатели. и вроде выяснил суть.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

Быдлокодить сайтики на пыхпыхе может любой осел. Для этого про указатели ничего знать не надо. И всякие жабоскрипты аналогично можно писать.

anonymous
()
Ответ на: комментарий от Iron_Bug

Да, я с указателями разобрался
Оказывается все настолько просто!
Хочу еще раз сказать большое спасибо вам и другим людям в этом треде, ибо благодаря им я понял все, что не понимал!

mystery ★★
() автор топика
Ответ на: комментарий от anonymous

В JS хоть и динамика, но надо писать код так, что бы JIT и оптимизатор работали оптимально

mystery ★★
() автор топика
Ответ на: комментарий от anonymous

в пыхе свои заморочки. в вебе главное - безопасность и параноидальная проверка данных. я как-то подалась в веб (работу надо было срочно поменять, я искала временные варианты). так вот по личному опыту скажу, что заморочек там не меньше, чем в Сях. язык - фигня, я за пару недель изучила. а вот предметная область, сами принципы работы с сессиями, с безопасностью данных - это занимает куда больше времени. и периодически всё равно находят дыры. в Си-то хоть особо не меняется ничего. а в вебе всё меняется каждый день. даже сам пых менялся радикально несколько раз. сейчас он уже вообще не напоминает даже старый, например, третий пых. всё переделано. так что нельзя сказать, то там существенно проще, если писать сайты ответственно, а не говнокодить как попало и в готовых фреймворках.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

Хочу руку вам пожать
Еще недавно придумали делать толстые приложения, ходящие на сервер за json-ом, а сейчас в моде React/Redux, где есть один поток данных и инкрементальное обновление дерева по состояниям

mystery ★★
() автор топика
Ответ на: комментарий от mystery

толстый клиент выгоден разработчику: не надо держать «толстый сервер», пусть клиентские машины работают.

один поток - это можно объяснить (хотя, по-моему, пул рабочих потоков всё-таки эффективнее, если источник данных не совсем уныл и поддерживает много клиентов). а инкрементальное обновление дерева - это из соображений lockless? в сях такое используется, когда надо уменьшить конфликт доступа между кучей клиентов, обращающихся к одному ресурсу. но это довольно муторно в реализации.

Iron_Bug ★★★★★
()
Ответ на: комментарий от anonymous

А вот скажи, илитко, тебе реально припекает от того, что недоучки, быдлокодящие сайтики на пыхе, зарабатывают на этом в разы больше тебя, такого всего из себя илитненького? Или смирился уже?

anonymous
()

Как работает указатель?

документации по этому просто горы, или ты просто вбрасываешь?

Насколько этот код говно? Что стоило бы исправить? Спасибо!

Какая разница между поворотом матрицы на 90 градусов по часовой стрелке и html тегом <br>? Спасибо!

reprimand ★★★★★
()
Ответ на: комментарий от reprimand

ох блин, не заметил что тема старая и его уже обосрали до меня

господа, дико извиняюсь

reprimand ★★★★★
()
Ответ на: комментарий от mystery

я немного побаиваюсь революций в вебе. веб что-то всё хуже и хуже ворочается на моём стареньком ноуте. а контент при этом гуще не стал. я открываю пару страничек, а браузер сжирает чуть ли не гигабайт памяти! это вызывает у меня смутные подозрения :)

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

Поэтому и придумали ReactJS
Он очень хорошо оптимизирован и работает просто реактивно
Фишка в том, что на каждое событие создается состояние, и приложение может прыгать от состояния к состоянию
Можете поискать на гитхабе redux-dev-tools, скачать примеры и посмотреть, как работает
Есть и свои минусы, например сложность подхода
Но главный плюс - это очень быстрая работа

mystery ★★
() автор топика
Ответ на: комментарий от Iron_Bug

если писать сайты ответственно, а не говнокодить как попало и в готовых фреймворках.

Т.е. готовые фреймворки использовать плохо? Надо изобретать велосипед? Особенно это забавно с точки зрения безопасности, всяких там XSRF, которые в фреймворки уже зашиты.

pawnhearts ★★★★★
()
Ответ на: комментарий от anonymous

Напрягает. Но как-то в говне копаться не хочется.

anonymous
()
Ответ на: комментарий от Iron_Bug

Поэтому для веба я забульбенил себе сишную библиотечку, которую и использую для обработки запросов, кук и аутентификации.

Правда, сырая она еще: не сильно-то мне в вебе нужна безопасность (наружу не вылезаю со своими сервисами).

anonymous
()
Ответ на: комментарий от Iron_Bug

веб что-то всё хуже и хуже ворочается на моём стареньком ноуте.

Iron_Bug ★
Программист (С/C++), опыт программирования более 20 лет.

Если уж кодеры с таким опытом получают так мало что не могут себе позволить сменить старый тормозящий ноутбук, то как-то все совсем плохо в России в IT отрасли.

anonymous
()
Ответ на: комментарий от anonymous

Я конечно извиняюсь, но менять железо тупо ради факта смены железа — это потребительство легкого поведения. Менять надо лишь тогда, когда оно настолько морально устарело, что тупо свежую генту на нем не развернешь вообще никак, либо она будет две недели компиляться!

anonymous
()
Ответ на: комментарий от anonymous

Я конечно извиняюсь, но менять железо тупо ради факта смены железа — это потребительство легкого поведения.

А теперь ещё раз прочитай на что ты отвечал:

веб что-то всё хуже и хуже ворочается на моём стареньком ноуте.

anonymous
()
Ответ на: комментарий от anonymous

а кто тебе сказал, что я мало получаю? просто я не покупаю себе комп, который мне не нужен. для моей работы мне нужно очень мало. я могу в эмбеддеде ковыряться и мне для работы не нужны никакие мощности. самое монстрозное, что у меня есть из софта - это браузер.

и веб для меня - не приоритет. я могу в elinks программистские форумы читать. у меня не на всех машинах бывает DE.

кстати, фишечка прикольная есть, недавно нашла: http://www.linuxandubuntu.com/home/funny-linux-commands-check-weather-and-sur... StackOverflow из консоли. довольно удобно.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от anonymous

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

Iron_Bug ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.