Pogledajte određenu poruku
Staro 19. 01. 2009.   #1
orangem
član
Na probnom radu
 
Datum učlanjenja: 17.11.2007
Poruke: 36
Hvala: 4
0 "Hvala" u 0 poruka
orangem is on a distinguished road
Default C - Alokacija memorije

Pozdrav svima!
Imam problem sa alokacijom memorije unutar strukture:

typedef struct
{
char *usrname;
int int_usr_id;
} user_data;

...

user_data *user_data_arr;

user_data_arr = (user_data*)malloc(sizeof(user_data) * 10);

...

Uzimamo podatke iz baze, 10 redova

...

user_data_arr[i].usrname = (char *)malloc(sizeof(mysql_row[0]));
if (user_data_arr[i].usrname != NULL)
{
sprintf(user_data_arr[i].usrname,"%s",mysql_row[0]);
}
...

Kada izvrsim ovaj kod dobijem:
*** glibc detected *** malloc(): memory corruption: 0x0806c250 ***

Ako koristim staticki niz, npr. usrname[50] onda sve radi ok.
orangem je offline   Odgovorite uz citat