card game in c, shuffle linked list -


i trying shuffle linked list in c. idea move list array of card shuffle array , put in linked list. when build ok when id use debugger program stops , says "triggered breakpoint" , didn't different . help!

here of code

typedef struct card {   int rank;   int suit; }card;  void shuffledeckplay(cardlist *deck1, int size) { card *array = (card*)malloc(sizeof(card));   (int = 0; < size ; i++) {     array[i] = deck1->front->data;     array = realloc(array, sizeof(card));     dequeue(deck1); }   int i, j; card temp;      (i = 0; < size; i++)     {         j = rand() % size;         temp = array[i];         array[i] = array[j];         array[j] = temp;     }      (int = 0; < size; i++)     {         enqueue(array[i], deck1);     } } 

array large enough store 1 card. after realloc, realloc-ing size of one. syntactically there nothing wrong, during runtime array[i] go out of bounds , debugger picking up. best solution allocate correct number immediately:

card * array = (card*)malloc(numcards*sizeof(card)); 

however if want re-allocate in loop loop should this:

for (int = 0; < size; i++) {     array = (card*)realloc(array, (i+1)*sizeof(card));     array[i] = deck1->front->data;     dequeue(deck1); } 

Comments

Popular posts from this blog

node.js - Using Node without global install -

How to access a php class file from PHPFox framework into javascript code written in simple HTML file? -

java - Null response to php query in android, even though php works properly -