this is a snaphot of the code.i hope it helps because i can't find a point where the pointer is dereferenced.
any other suggestions???Code:int **gene_pricing(int run_mode,int no_of_vehicles,int gene_dim,int *gene, int *edge_weight_section,int *demand,int capacity,int *fitness){ //various variables register int i,j; int int_fitness,sub_cost,ext_tour_size,ext_dim; int **prev_after,count; prev_after=malloc(no_of_vehicles*sizeof(*prev_after)); if(prev_after==NULL){ perror ("malloc"); exit(EXIT_FAILURE); } for(i=0;i<no_of_vehicles;i++){ prev_after[i]=malloc(gene_dim*sizeof(**prev_after)); if(prev_after[i]==NULL){ //Check for memory redudancy perror("malloc"); exit(EXIT_FAILURE); } } for(i=0;i<no_of_vehicles;i++){ count=1; for(j=0;j<gene_dim;j++){ if(gene[j]==i){ prev_after[i][j]=count; count++; } else prev_after[i][j]=0; } } . . blah blah blah irrelevant stuff (nothing else allocated or used from the above) . *fitness=int_fitness; //some variable returned by reference externally return prev_after; } int main(){ . . . int ext_fitness,i,j; int **ext_matrix; ext_matrix=malloc(2*sizeof(*ext_matrix)); for(i=0;i<2;i++){ ext_matrix[i]=malloc(17*sizeof(**ext_matrix)); } ext_matrix=gene_pricing(0,2,17,gene17,edges17,demand17,10,&ext_fitness); printf("\n\n%d\n\n",ext_fitness); printf("\n\n"); for(i=0;i<2;i++){ for(j=0;j<17;j++) printf("%d ",ext_matrix[i][j]); printf("\n"); } for(i=0;i<2;i++) free(ext_matrix[i]); free(ext_matrix); return EXIT_SUCCESS; }
thanx for your help and patience.![]()

