Giả sử e có 1 đoạn code cấp phát cho level 2-pointer như sau:
int **arr = (int **)calloc(3, sizeof(int *));
for (int i = 0; i < 3; ++i) {
arr[i] = (int *)calloc(5, sizeof(int));
}
...
thì khi em realloc lại cho con trỏ arr với kích thước lớn hơn thì có nhất thiết phải dùng vòng lặp duyệt lại từ đầu để cấp phát cho mỗi con trỏ cấp 1 trong nó không ạ ? Hay chỉ cấp phát cho con trỏ ở cuối thôi ?
realloc(arr, 4 * sizeof(int *));
for (int i = 0; i < 4; ++i) {
arr[i] = (int *)calloc(5, sizeof(int));
}
...
hay
realloc(arr, 4 * sizeof(int *));
arr[3] = (int *)calloc(5, sizeof(int));
?
Còn nếu realloc con trỏ arr với kích thước bé hơn thì dữ liệu trong matrix sẽ bị mất đi đúng ko ạ ?
Cảm ơn mọi người nhiều 

nếu hàm không có prototype đầy đủ thì coi như nó trả về 
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?