[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: segfault su Debian & su centos 5 no



On 30/12/2012 19:45, emmanuel segura wrote:
#include<stdio.h>

typedef struct Name {
         char *name;

questo è un puntatore, se vuoi farlo puntare ad un'area di memoria, allora prima devi allocarla (se non ricordo male in C il comando è malloc).

         int id;
} name_t;

name_t pa[];

qui hai creato un vettore senza dare una dimensione... probabilmente prende per default 1, quindi puoi usare un solo elemento (posizione 0)

int main()
{
         int i,SIZE = 255;
         for(i = 0; i<= SIZE; i++)
         {
                 pa[i].name = "Pippo";

non mi sembra proprio che questa sia l'operazione corretta per assegnare un valore ad un puntatore, inoltre stai andando oltre la dimensione del vettore

                 pa[i].id = i;
                 printf("\t%s - %d\n",pa[i].name,pa[i].id);
         }
}

Quello che mi chiedo io è come faccia a non andare in segfault al ciclo 0

Ciao
Davide

--
Dizionari: http://linguistico.sourceforge.net/wiki
Client di posta: http://www.mozilla.org/products/thunderbird
GNU/Linux User: 302090: http://counter.li.org
Non autorizzo la memorizzazione del mio indirizzo su outlook


Reply to: