- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我以这种方式分配了一个非方阵,但我不确定我是否正确使用了释放
float **matrix_alloc(int m /* rows */, int n /* columns */)
{
int i;
float **arr = malloc(m*sizeof(*arr));
for(i=0; i
{
arr[i]=malloc(n*sizeof(**arr));
}
return arr;
}
我试过两种释放内存的方法
-Attempt A xe đạpĐƯỢC RỒI
void free_mem_mat(int m, float **array) {
int i;
for (i = 0; i < m; i++) {
free(array[i]);
}
free(array);
}
- 尝试 B xe đạp列
void free_mem_mat(int n, float **array) {
int i;
for (i = 0; i < n; i++) {
free(array[i]);
}
free(array);
}
我应该用什么来免费?行上的MỘT 方式还是B 方式? (我知道所写的方法是相同的,我已将其重写为尽可能清楚)
1 Câu trả lời
你需要一个free()
对于每个 malloc()
*。有m+1
Gọi malloc()
;你最好做m+1
Gọi free()
Cũng vậy.
鉴于此作为起点,选项 A 是正确的解决方案。但是,也可以公平地注意到,只要您传递 tôi
,这两个函数(选项 A 和选项 B)就严格等效。分配函数的维数作为释放函数的大小参数。选项 B 中的评论具有误导性;你没有遍历列。
Được cho:
enum { MAT_ROWS = 20, MAT_COLS = 30 };
float **matrix = matrix_alloc(MAT_ROWS, MAT_COLS);
Phải free_mem_mat()
的正确调用是:
free_mem_mat(MAT_ROWS, matrix);
* 如果您使用 realloc()
,这是一个过度简化的声明或 calloc()
.你需要一个free()
对于每个 malloc()
那不是realloc()
'd,还有一个 free()
对于每个 realloc()
没有做 free()
— 通过将大小设置为 0。对待 calloc()
相当于malloc()
Đối vớifree()
很关心。
关于自由 m*n 矩阵二维分配的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24195654/
Tôi có một ứng dụng loại bỏ GKSession và tạo một GKSession mới trong nhiều điều kiện khác nhau (hết thời gian kết nối, lỗi phiên, v.v.). Tuy nhiên, tôi đang gặp phải tình trạng rò rỉ bộ nhớ và đôi khi nó bị sập sau khi kết nối lại một vài lần trong vòng lặp.
Ví dụ, nếu tôi có một con trỏ dấu phẩy động float *p trong mã máy chủ, tôi có thể xác định loại bộ nhớ mà nó trỏ tới (thiết bị/máy chủ) không? Câu trả lời tốt nhất nằm trong hệ thống UVA, hàm API thời gian chạy cudaPointerGetAttri
Tôi đã chuyển đổi dự án của mình sang .Net 4.0 và đoạn mã sau không hoạt động: typeof(RuntimeTypeHandle).GetMethod("Allocate", BindingFlags.Instance
Khi tôi khai báo char ch = 'ab', ch chỉ chứa 'b', tại sao nó không lưu trữ 'a'? #include int main() { char ch = 'ab'; printf("%c"
Tôi có một câu hỏi về Disk Sector và Block. Một sector là một đơn vị, thường là 512 byte hoặc 1k, 2k, 4k, v.v. tùy thuộc vào phần cứng. Kích thước khối hệ thống tập tin là một tập hợp các kích thước sector. Giả sử tôi đang lưu trữ 5KB
Giả sử tôi có 8 người và 5000 quả táo. Tôi muốn chia hết số táo cho cả 8 người để không còn quả táo nào sót lại. Nhưng mỗi người sẽ nhận được một số tiền khác nhau và cách tốt nhất để phân phối tất cả số tiền đó là gì? Tôi bắt đầu như thế này: hãy để mọi người
Trang web tôi đang xây dựng có thanh tìm kiếm ở trên cùng. Tương tự như Trello hoặc Gmail, tôi muốn khi người dùng nhấn phím "/", tiêu điểm của họ sẽ chuyển đến hộp tìm kiếm. JavaScript của tôi trông như thế này: document.onk
Tôi có đoạn mã nhỏ này: if (PZ_APP.dom.isAnyDomElement($textInputs)){ $textInputs.on("focus", function(){
Tôi đã quan sát thấy những hành vi sau. Chấp nhận hai biến thuộc tính. @property (không nguyên tử, giữ lại) NSString *stringOne; @property (không nguyên tử, gán
Tôi đang giải quyết vấn đề như sau - triển khai một hàm đánh giá một biểu thức bao gồm các toán hạng sau: "(", ")", "+", "-", "*", "/". Mỗi biểu thức số có thể lớn (lớn bằng biểu thức được biểu diễn bằng chuỗi 1000 bit). "/
Tôi có một tập hợp các máy chủ và một tập hợp các nhiệm vụ. Mỗi máy chủ đều có dung lượng CPU, bộ nhớ và tác vụ, và mỗi tác vụ đều có yêu cầu về CPU và bộ nhớ. Mỗi máy chủ thuộc một lớp độ trễ và có thể giao tiếp với các máy chủ khác có giá trị độ trễ cụ thể. Mỗi nhiệm vụ có thể cần phải bằng hoặc
Chương trình này có chức năng gì: Đọc một ma trận (mảng hai chiều) chứa nrRows hàng và nrColomns cột từ một tệp. Tất cả các phần tử của ma trận đều là số nguyên trong khoảng [0,100). Chương trình phải sắp xếp lại tất cả các phần tử trong ma trận sao cho mỗi phần tử bằng
Thế giới ơi! Tôi có một câu hỏi. Hôm nay tôi thử tạo một mã để tìm số Catalan. Nhưng trong chương trình của tôi thì đó có thể là những con số dài. Tôi đã tìm ra tử số và mẫu số. Nhưng tôi không thể chia các số dài! Ngoài ra, chỉ có thư viện chuẩn mới được sử dụng trong chương trình này. Xin hãy giúp tôi. Đây là mã của tôi
Tôi chắc chắn là mình đã bỏ lỡ điều gì đó hiển nhiên, nhưng tôi đang cố gắng tạo một thể hiện của con trỏ NSInteger trong Objective C. -(NSInteger*) lấyIntegerPointer{ NSInteger
Câu hỏi này đã có câu trả lời tại đây: Sự khác biệt giữa self.ivar và ivar? (4 câu trả lời) Đã đóng 9 năm trước.
Làm thế nào tôi có thể gán v[i] cho một chuỗi số nguyên (kiểu của v là vector
Tôi muốn nhờ giúp đỡ với một bài tập....Tôi đã mang bài tập này đến trường...Tôi phải viết một chương trình để tải một ma trận G và một ma trận G thứ hai và tìm kiếm ma trận G thứ hai để biết số lượng tồn tại của ma trận G đầu tiên...Tuy nhiên, khi tôi thử chạy
Tôi phải quản lý tài nguyên. Về cơ bản, đây là một số duy nhất dùng để xác định kết nối lớp 2 trong một bộ chuyển mạch. Có thể có 16k kết nối như vậy, vì vậy mỗi khi người dùng muốn cấu hình kết nối, họ cần phải chỉ định một chỉ mục duy nhất. Tương tự như vậy, khi người dùng muốn xóa một kết nối, tài nguyên (
Có quy ước đặt tên chung nào để phân biệt giữa chuỗi đã phân bổ và chưa phân bổ không? Hy vọng những gì tôi đang tìm kiếm sẽ tương tự như những gì chúng ta đã làm từ Making Wrong Code Look Wrong, nhưng tôi muốn sử dụng thứ gì đó phổ biến hơn là tự tạo ra. tối ưu
Tôi cần đọc tệp .txt và gán từng từ trong tệp vào một cấu trúc được trỏ tới từ một vectơ cấu trúc. Tôi sẽ giải thích rõ hơn ở phần dưới. Cảm ơn sự giúp đỡ của bạn. Chương trình của tôi chỉ phân bổ từ đầu tiên của tệp... Tôi biết vấn đề nằm ở hàm i
Tôi là một lập trình viên xuất sắc, rất giỏi!