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
--
Per REVOCARE l'iscrizione alla lista, inviare un email a
debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a listmas...@lists.debian.org
To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/50e093c8.7090...@gmail.com