Массивы существуют в любом современном языке программирования. Массив — это упорядоченная совокупность элементов одного типа, а значит и размера, объединённая одним общим именем. Каждый такой элемент снаружи массива представлен порядковым числом, называемым индексом и доступ к нему осуществляется именно при помощи этого индекса.

Чтобы досконально понять, что такое массив, достаточно провести аналогию со строем солдат. Командующий указывает: «по порядку расcчитайсь!», происходит расчёт и у каждого солдата появляется свой номер (читай, «индекс»), по которому командир может к нему обратится.
Пример: arr[-1] — неверно, arr[10.1] — тоже неверно, arr[11] — верно.
Индексы должны быть представлены целым беззнаковым числом. Любой массив в Си начинается с нулевого элемента.
Внимание! Если мы резервируем память для 12-ти элементов массива, то индекс последнего — 11! Наиболее часто встречающаяся ошибка в программах новичков по моему мнению.
В Си есть жёсткое требование к организации массива: все элементы должны располагаться в памяти по порядку друг возле друга, а имя массива указывает на начало блока памяти, где эти элементы расположены. Любое обращение к элементам массива компилятор в итоге преобразовывает в указатель, т.е. x[i] будет растолковано им как указатель на область x плюс i шагов нужного размера.
Пример: arr[0] == *arr, arr[11] == *(arr + 11 * sizeof(arr)).
Однако, прежде чем начать использовать массив, следует выделить под него нужный объём памяти.
Господа программисты, это сообщение целиком и полностью я хотел бы адресовать Вам. И с самого его начала я поставлю вопрос ребром: почему нет русскоязычного ресурса по GTK+? Хотя бы какого-нибудь жалкого форума! Максимум, что я встречал в рунете – какой-нибудь раздел о всём, что связано с GTK на форуме каких-нибудь линуксоидов. И это в то время, как даже такой новичок как Ruby-фреймворк Rails уже давным-давно обзавёлся своим форумом. Каким образом можно расширять пользовательскую базу инструментария GTK+, если новичкам просто негде задать вопрос?! Приведу себя в пример: я без проблем могу читать документацию на английском и пойму весь смысл, который хотел до меня донести её автор, однако сказать что-то на всё том же английском — для меня достаточно проблематичная задача. Почему за столько лет существования GTK+ так и не обрёл русскоязычного ресурса. А ведь по сути GTK+ не сильно-то и хуже Qt (если вообще хуже)!
Да, я понимаю, что сравнивать Qt и GTK+ не совсем граммотное дело, хотя бы потому, что первый — расширение C++, а тема сообщения — чистый C. Но в самом-то деле, ведь не зря же они решают практически одинаковые задачи, а то, что нельзя решить на GTK+, легко решается ещё каким-нибудь инструментом. Пример тому — GTK+ как оболочка для GUI программы и cURL для работы с сетью. И разработчики поступили так не зря! Пускай шведская команда haxx оттачивает cURL, а команда GTK+ займётся в это время улучшением API своего детища. Все в выигрыше и каждый занимается тем, что ему нравится.
Отличная документированность и куча примеров без сомнения большой плюс для Qt, но минусом я считаю то, что это C++ – трудность создания биндингов для других языков – и то, что это KDE, в то время, как самый популярный дистрибутив Linux (Ubuntu) использует GNOME.
Суть этого поста пожалуй уже ясна, но я таки озвучу её. Я бы хотел сделать профильный ресурс по GTK+ (для начала всего лишь форум, а дальше будет видно) и ищу поддержку среди заинтересовавшихся. Мне кажется, такого сайта сильно не хватает рунету. Я предлагаю всем заинтересовавшимся написать в комментариях к этому сообщению то, что Вы думаете по этому поводу. Думаю, если наберётся хотя бы 10 человек готовых развивать такой сайт, то мои страдания не прошли даром. Впрочем, в противном случае думаю тоже можно сделать правильные выводы, ведь если у GTK+ не наберётся и 10 поклонников, значит профессионалы действительно не заинтересованы в его развитии.
Не знаю, насколько низка среди web-разработчиков потребность во время работы сотворённого тобою приложения удалять папки и создавать новые (подозреваю, что это вовсе и не нужно в web), однако мои desktop-приложения почему-то нуждаются в подобном функционале довольно часто. Последний мой проект я писал для себя и поэтому вопрос о выборе языка не стоял: скорость выполнения не важна, так что Ruby.

Когда встал вопрос о создании новой папки быстренько нашёл в документации к классу Dir метод mkdir, впрочем, мне это не очень помогло. Задача стояла создать директорию, но вот об уровне вложенности метод mkdir не заботится, — например, если по адресу «/home/inst/examples/newdir» не будет существовать папки «examples», то метод возвратит ошибку. Мне же требовалось создать и все вышележащие папки в случае их отсутствия. Очень повезло с тем, что нашёл в документации к калссу File метод makedirs. Он реализует как раз нужный мне в этом случае функционал. Чтобы им воспользоваться нужно подключить «ftools».