Я не стану дорабатывать этот проект, так как это не имеет смысла.
Зря ты так! Это же так интересно: сегодня пишешь интерпретатор, завтра ещё один, послезавтра штудируешь книжки по теории компиляции, а через неделю уже защищаешь кандидатскую по отладчикам... Как правильно задавать вопросы
Очень интересно. Синтаксис, правда, неконсистентный: непонятно, где какие выражения допустимы (а их и нету, выражений-то, похоже), непонятно, что на самом деле делает for и так далее. Советую посмотреть на Лисп, до него от твоего языка два шага идти. Как правильно задавать вопросы
Сообщение отредактировал -l33t-h4xx- - Вторник, 09 Декабря 2014, 13:22
Когда решаешь собственную проблему, рассказывай, пожалуйста, как именно ты её решил. Просто хорошая привычка. Тебе нетрудно, а кому-нибудь это может однажды помочь. Как правильно задавать вопросы
я не могу понять зачем, как и для чего использовать эти адреса и указатели
А тут объяснялки не помогут. Концепция сложная, её нужно прочувствовать. Нужно слиться с указателем, нужно думать, как указатель.
А если без сантиментов, то сейчас я, не вдаваясь в детали использования (которые ты всё равно прочтёшь в учебнике), расскажу, зачем указатели могут быть нужны.
Указатель - абстракция над адресом. Каждому объекту в памяти компьютера присуще целое число - адрес, по которому он хранится. Естественно, адрес - число - можно получить и сохранить в переменной - в Си объект, соответствующий переменной, в которой сохранён адрес, называется указателем. Переменная сама по себе тоже абстракция над адресом, но переменная - сущность сугубо виртуальная, адрес же, хранящийся в указателе - штука реальная, и с ней компьютер может делать интересные вещи. Например, стоит перед нами задача: написать функцию, которая в качестве побочного эффекта изменяет значение переменной во внешней программе. Самое практичное решение - использовать указатель:
Код
void set_to_8 (int* a) { *a = 8; }
int main (void) { int a = 0; printf("%d\n", a); // 0 set_to_8(&a); printf("%d\n", a); // 8 }
Другого способа - если не считать привлечения глобальных переменных - просто нет. Ещё одно важное приложение указателей в Си (и в С++) - динамическое выделение памяти. Единственный способ не потерять кусок памяти, который для нас выделила система - это сохранить где-нибудь его адрес. Где-нибудь - это в указателе. Другого способа нет. Также если возникает необходимость работать с объектом с фиксированным адресом - портом ввода-вывода, например - мы вынуждены применить указатель. Как правильно задавать вопросы
Сообщение отредактировал -l33t-h4xx- - Четверг, 27 Ноября 2014, 10:37
Не лучше ли завести вики-страницу или документ на гуглдоксе? С кооперацией было бы проще. А хорошего рубрикатора не хватает. В Интернете можно найти только куцые подборочки, в которые сливают всё, что ни попадя. Как правильно задавать вопросы
Alkosha, хорошо, проблема несколько сложнее. По скудным сведениям, которые ты нам предоставил, я заключил, что ты используешь SDL2_ttf. Открываем руководство и видим:
Нет, не можно. Ядро не даст. И в венде не даст. Нигде не даст, если ядро нормальное. Собственно, и в досе биос для таких штук не требовался - видеопамять начиналась по адресу 0xA000 и была доступна для записи и чтения. Биос только даёт набор полезных функций для работы с ней.
Цитатаrrrfer ()
Покажите как без ассемблерных вставок, пожалуйста.
Ты, наверное, думаешь, что в векторном исчислении всё испещрено геометрическими смыслами, но это не совсем так. Вычитание там наличествует только для полноты теории и по сути не больше чем разновидность сложения. Зачем городить модели дальше этого - непонятно. Как правильно задавать вопросы
И сравнивать с++ и питон не стоит, питон написан на си и итверждать что он лучше си нет смысла, он дополнение к си и отдельно не как .
Чушь редкостная. Python можно написать и не на Си, а на Go, например (коль кто-то этого захочет), от этого он дополнением к Go не станет. Он останется Пайтоном. Понятно, откуда такая логика - некоторые считают, будто разные языки суть альтернативные нотации одного и того же, даже шутка в старину была: "могу на любом языке писать как на Фортране". Но это не так. Как только это становится ясно, так же ясно становится, что сравнивать Python и C++ вполне можно. Как правильно задавать вопросы
Ramilyanamana, в чём логика программы? Я сперва ищу индекс первого нечётного элемента массива, а потом, двигаясь от него в обратном направлении, ищу ещё один нечётный элемент? Ты понимаешь, что я его никогда не найду, f никогда не присвоится единица, а l никогда не будет инициализирована? Как правильно задавать вопросы
Собственно может есть смысл набрать команду или группу и сделать что то, а не размещать интересные темы , которые в процессе 2-6 мес умрут)))?Да и вместе веселей и есть шанс что проект заработает а не просто взбаломутить народ ,нажечь света дома и все бросить?)))
С точно такой же регулярностью возникают темы, в которых неудачникам предлагают бросить свои неудачные дела и объединиться в суперкоманду. Они тоже недолго живут.
Ни то, ни другое не правильно. Многие пытаются за счёт геймдева самоутвердиться, потому и творят без конца большие начинания, вместо того чтобы сесть и позаниматься любимым делом. Так они принесли бы больше пользы и себе, изучая технологии во имя весёлого хобби, и сообществу, не возмущая его своими амбициями. Как правильно задавать вопросы