nixp.ru v3.0

28 мая 2017,
воскресенье,
02:17:52 MSK

DevOps с компанией «Флант»
Heavy написал 8 сентября 2006 года в 18:31 (347 просмотров) Ведет себя как мужчина; открыл 55 тем в форуме, оставил 698 комментариев на сайте.

Как в С соорудить массив, количество элементов которого может меняться, то есть, грубо говоря, массив с неограниченным количеством элементов (что-то похожее на массив типа TStrings в Делфе)?

Longobard

malloc, realloc, free — эти функции помогут тебе.

А еще лучше отправить Си на помойку истории, взять С++ и использовать std::vector из STL.

Heavy

Блин, я первый раз за Си. В си я — нуль. И если б ты объяснил мне, как эти функции использовать и с их помощью соорудить нужный массив, было бы просто замечательно

Longobard

гугль://динамические+массивы+realloc

Heavy

Cпасибо

yetmagellan

quote:

А еще лучше отправить Си на помойку истории, взять С++ и использовать std::vector из STL.

Буга-га! С чего вдруг? Ядро операционок на С++? KVM на С++? Не, не катит

Longobard

у каждого языка своя ниша, но для userspace программ давно понятно что с++ лучше, чем си. Системное программирование — это ниша Си, согласен.

Feuerbach
Longobard
А еще лучше отправить Си на помойку истории, взять С++ и использовать std::vector из STL.

Спасибо, поржал :)

(никакого намека на флейм)

decvar
Буга-га! С чего вдруг? Ядро операционок на С++? KVM на С++? Не, не катит

Вообще говоря — без проблем. Тока не надо тут флеймить, лучше отдельную тему завести

Steck

ну если простейший массив вернее список то можно заюзать

GList или GSList из glib.

и вытаскиват ьот туда что надо примерно так

GList *line;

…….

for(line;line!=NULL;line=line->next)

printf(«%s\n»,(char *)line->data);

подробнее можно тут

/usr/local/include/glib-2.0/glib/glist.h

Feuerbach
Steck
ну если простейший массив вернее список то можно заюзать

GList или GSList из glib

Ради простейшего массива тянуть GLib? Нунафик.

Longobard
Feuerbach
Ради простейшего массива тянуть GLib? Нунафик.

угу, учитывая что все делается стандартными средствами :)