Я изучаю выделение памяти в C. Я хочу создать матрицу из [10] [20] с использованием malloc
, так что каждая строка отправляется в функцию, подлежащую обработке , Достаточно ли послать только указатель каждой строки? т.е. *arr[0]
;Отправка указателя каждой строки матрицы на функцию
Ниже приведен фрагмент моего кода:
#include <stdio.h>
#include <stdlib.h>
int **arr; // Buffer
int sumElements(int *arr[]){
// do something
}
void main(){
int i,j;
arr = malloc(10 * sizeof(int *)); // Allocate # of rows for the matrix
for(i = 0; i < 10; i++){
arr[j]= malloc(20 * sizeof(int)); // Allocate # of entries in each row
sumElements(*arr[j]); // send the current row to be processed by function
}
}
О! в этом есть смысл. THANK YOU –
Выполняет ли sumElements (arr [j]) все 20 столбцов? –
@ LM Рад, что я мог бы помочь. Не стесняйтесь [принять этот ответ] (http://stackoverflow.com/help/accepted-answer), если вы сочтете это полезным. – dbush