Здравствуйте, Zulin_78, Вы писали:
Z_>Захотелось написать просто динамический массив.
Сначала реализовал связанный список. Все работает все хорошо, но не очень красиво и очень похоже на велосипед. Вследствие недолгих размышлений пришел к мысли (Да обязательное условие only C):
Z_>#include <stdio.h>
Z_>#include <signal.h>
Z_>#include <unistd.h>
Z_>#include <netinet/in.h>
Z_>int main(int argc, char **argv) {
Z_> struct in_addr **_addr;
Z_> int i=0, n, c;
Z_> while( (c = getopt(argc, argv, "i:")) != EOF )
Z_> {
Z_> if(c == 'i'){
Z_> _addr[i] = (struct in_addr *)malloc(sizeof(struct in_addr));
а память для _addr кто выделять будет?
Z_> inet_aton (optarg, &_addr[i]);
что такое optarg?
Z_> i++;
Z_> }
Z_> }
Z_> for( n=0; i>n; n++)
Z_> printf("Index %u of %u value %s \n", n, i, inet_ntoa(_addr[n]));
Z_> for( n=0; i>n; n++)
Z_> free( _addr[n] );
Z_> return 0;
Z_>}
Z_>Опять таки все здорово, но на free валимся.
Идеи закончились, вот обращаюсь ко многомудрым!