Từ 1 tới 1 trên tổng số 1 kết quả

Đề tài: Lỗi cấp phát bộ nhớ

  1. #1
    Ngày gia nhập
    06 2019
    Bài viết
    1

    Mặc định Lỗi cấp phát bộ nhớ

    mn xem giúp m cần Free như nào thì đúng ạ:

    free(Arr);

    ==> Memory leak, allocate 2 lần bằng malloc() thì cũng cần free 2 lần.

    code:

    int main()

    {

    float **Arr;

    int size , iRow, jCol;

    printf("Enter the level matrix A:"); scanf("%d", &size);

    Arr = AllocArr(size, size);

    if (!Arr)

    {

    return NULL;

    }

    for (iRow = 0; iRow < size; iRow++) {

    for (jCol = 0; jCol < size; jCol++) {

    printf("Arr[%d][%d]= ", iRow, jCol);

    scanf("%f", &Arr[iRow][jCol]);

    }

    printf("\n");

    }

    printf("Determinant of matrix A= %d", DetOfMatrix(Arr, size));

    free(Arr);

    _getch();

    return 0;

    }

    float** AllocArr(short szRow, short szCol)

    {

    int i;

    float **pArr;

    pArr = (float**)malloc(szRow * sizeof(float *));

    if (!pArr)

    {

    return NULL;

    }

    for (i = 0; i < szRow; i++)

    {

    pArr[i] = (float*)malloc(szCol * sizeof(float));

    if (!pArr[i])

    {

    return NULL;

    }

    }

    return pArr;

    }
    Đã được chỉnh sửa lần cuối bởi tuan nguyen 123 : 14-06-2019 lúc 06:39 AM. Lý do: sửa thêm

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn