Witam
Mam problem z funkcją realloc. Jeżeli nie używam funkcji realloc jest wszystko w porządku jeśli natomiast ilość elementów przekroczy 10 to wtedy zaczynają się problemy Z późniejszego działania programu oraz z widoku debuggera widzę, że tablice się jakby przeplatają czyli
w tablicy c1 i c2 powinno być odpowiednio:
{1,2,3,..,23},{24,25,26,...,48} natomiast jest {43808430,32141244,3,4,...,10,24,25,26,...,34} i podobnie jest w tablicy c2.
Więc moje pytanie brzmi co robię źlę używając funkcji realloc ?
#include <stdio.h>
#include <stdlib.h>
int main() {
int p,*tab,*l;
int *c1=(int*)malloc(10*sizeof(int));
int *c2=(int*)malloc(10*sizeof(int));
int temp=0,v1,v2,l1,l2,ll;
int v12;
l=≪
for (v1=1;v1<=2;v1++){
*l=0;
if (v1==1){
tab=c1;
}
else {
tab=c2;
temp=0;
*l=0;
}
while(temp!=-1){
scanf("%d",&temp);
if (temp!=-1){
*(tab+*l)=temp;
//printf("Wstêpne C1: od=%d wartosc=%d \n",*l,*(c1+*l));
(*l)++;
if ((*l % 10)==0){
tab=realloc(tab,(*l+10)*sizeof(int));
}
}
}
...
free(c1);
free(c2);
return 0;
}