Показать сообщение отдельно
Старый 31.08.2009, 12:22     # 1
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Перераспределение памяти - realloc

Здравствуйте, Уважаемые.

Честно говоря, даже немного стыдно с таким вопросом выходить, но уже сколько бьюсь, никак не могу решить - не понимаю.

Задача элементарнейшая - надо перераспределиить память и увеличить массив еще на один элемент. Лучше сразу покажу код:
Код:
#include <iostream>
#include <stdlib.h>

void
test_func(int * argc, char ** argv){
*argv = (char*)realloc( *argv, sizeof(char*) * (++(*argc)) );
}

int
main(int argc, char **argv){
test_func(&argc, argv);
}
То есть в функции (метод в реале, но не суть), по указателю на указатель осуществляется доступ. Надо добавить еще один элемент.
НО, у меня все падает с сигналом SIGABRT.
Пожалуйста, объясните что я делаю не так и как надо?

Да, на всякий случай, компилятор - gcc-4.4.1
Вроде как все правильно
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума