View Full Version : [c] perchè crasha?
typedef struct biglia{int x,y;};
struct biglia *scorrib;
int x,y=0;
for(i=0; i < r ; i++)
{for(j=0; j < c ; j++)
{scanf("%d", &v);
if(v!=0)
{printf("1");
scorrib->x=x+j;
scorrib->y=y+i;
printf("2");
.......
Il programma mi stampa 1 e poi crasha prima di stamparmi 2... cosa faccio di sbagliato? avevo provato anche con (*scorrib).x=x+j; ma il risultato è lo stesso..
typedef struct biglia{int x,y;};
struct biglia *scorrib;
int x,y=0;
for(i=0; i < r ; i++)
{for(j=0; j < c ; j++)
{scanf("%d", &v);
if(v!=0)
{printf("1");
scorrib->x=x+j;
scorrib->y=y+i;
printf("2");
.......
Il programma mi stampa 1 e poi crasha prima di stamparmi 2... cosa faccio di sbagliato? avevo provato anche con (*scorrib).x=x+j; ma il risultato è lo stesso..
non hai allocato la tua struttura scorrib.
se la tua intenzione non è quella di allocare dinamicamente la struttura
struct biglia scorrib;
ok grazie..ho allocato la biglia con la malloc e il programma procede, però ho anche una stringa da inserirci dentro che indica il colore e adesso si blocca sull strcpy...
typedef struct biglia{int x,y;
char *colore;};
struct biglia *scorrib;
scorrib=malloc(sizeof(struct biglia));
int x,y=0;
char col[100];
for(i=0; i < r ; i++)
{for(j=0; j < c ; j++)
{scanf("%d", &v);
if(v!=0)
{scorrib->x=x+j;
scorrib->y=y+i;
printf("1");
strcpy(scorrib->colore,col);
printf("2");
è ancora un problema di allocazione, della stringa colore è allocato il puntatore presente nella tua struct.
se sai a priori che la lunghezza massima è di 100 caratteri dichiara la stringa come hai fatto per col, ah metti il codice nel tag CODE così si capisce meglio
potresti postarmi cosa devo modificare? perchè ho allocato la stringa con la malloc ma non va lo stesso..
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.