cuốn sách gpt4 ai đã làm

Con trỏ ba miễn phí trong C

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 07:01:13 hai mươi bốn 4
mua khóa gpt4 Nike

Đầu tiên, tôi tạo một int** và thành công (tôi nghĩ) đã giải phóng nó như thế này:

cho (int i = 0; i < r; i++) 
miễn phí(A[i]);
miễn phí (A);

Sau đó tôi đã tạo một int*** và cố gắng giải phóng nó bằng logic tương tự:

for (int i = 0; i < n_rows; i++) {
for (int j = 0; i < n_cols; j++) {
miễn phí(ma trận[i][j]);
}
miễn phí(ma trận[i]);
}
miễn phí (ma trận);

Nhưng tôi nhận được lỗi:

con trỏ được giải phóng không được phân bổ

Tôi đã sai ở đâu? Tôi đang cố gắng viết bài này ngắn gọn nhưng nếu nó bao gồm cách tôi tạo int*** Điều quan trọng là tôi có thể thêm nó.

EDIT, mã đầy đủ:

// Ma trận 3D chưa được khởi tạo
int*** malloc3Dmatrix(int ​​​​n_rows, int n_cols, int deep) {
int *** ma trận;
ma trận = malloc(n_rows*sizeof(int**));
for (int row = 0; row < n_rows; row++) {
ma trận [hàng] = malloc(n_cols*sizeof(int*));
cho (int col = 0; col < n_cols; col++) {
ma trận [hàng] [col] = malloc(độ sâu*sizeof(int));
}
}
ma trận trả về;
}

// điền vào ma trận 3D
void fill3DMatrix(int ​​​​***matrix, int n_rows, int n_cols, int deep) {

printf("Chèn các phần tử của ma trận:\n");
for (int i = 0; i < n_rows; i++) {
for (int j = 0; j < n_cols; j++) {
for (int k = 0; k < độ sâu; k++) {
printf("Chèn phần tử [%d][%d][%d]: ", i, j, k);
scanf("%d", &matrix[i][j][k]);
printf("ma trận[%d][%d][%d]: %d\n", i, j, k, ma trận[i][j][k]);
}
}
}
return;
}

int chính(){

// tạo ma trận 3D chưa được khởi tạo
int n_rows = 3, n_cols = 3, độ sâu = 3;
int ***matrix = malloc3Dmatrix(n_rows, n_cols, deep);

// điền và in ma trận 3D
fill3DMatrix(ma trận, n_rows, n_cols, chiều sâu);
print3DMatrix(ma trận, n_rows, n_cols, chiều sâu);


// ma trận 3D miễn phí
for (int i = 0; i < n_rows; i++) {
for (int j = 0; i < n_cols; j++){
miễn phí(ma trận[i][j]);
}
miễn phí(ma trận[i]);
}
miễn phí (ma trận);


return 0;
}

hai mươi bốn 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress