首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

* glibc detected * ./sort_all: free(): invalid next size (fast): 0x09c9b008解决思路

2012-04-23 
*** glibc detected *** ./sort_all: free(): invalid next size (fast): 0x09c9b008C/C++ codevoid sort_

*** glibc detected *** ./sort_all: free(): invalid next size (fast): 0x09c9b008

C/C++ code
void sort_pop(){    int *b = NULL;    int j, k, temp;    int size = sizeof(a) / sizeof(int);    //printf("size is %d \n", size);    b = (int *)malloc(size);    if(b == NULL)    {        printf("b is null \n");        return;    }        memcpy(b, a, sizeof(a));    printf("before pop : ");    print_array(b, size);    for(j = 0; j < size; j++)    {        // printf("j : %d \n", j);        for(k = 1; k < size - j; k++)        {            if(b[k - 1] > b[k])            {                temp = b[k -1];                b[k -1] = b[k];                b[k] = temp;            }            //  print_array(b, size);        }    }    printf("after pop : ");    print_array(b, size);    free(b);}



貌似是在free的时候出错的,不清楚为什么,print_array里没有对指针做赋值,只是循环打印而已
求助

[解决办法]
malloc的参数是字节数啊,malloc(size*sizeof(int));

热点排行