Erstellen Sie ein 2D-Array, indem Sie den Zeiger auf die Funktion in c @ übergebe
So lese ich Dutzende von Beispielen für die Übergabe eines 2D-Array-Zeigers an function, um Werte dieses Arrays in function abzurufen / zu ändern. Ist es jedoch möglich, innerhalb der Funktion Speicher zu erstellen (zuzuweisen)? Etwas wie das
#include <stdio.h>
void createArr(int** arrPtr, int x, int y);
int main() {
int x, y; //Dimension
int i, j; //Loop indexes
int** arr; //2D array pointer
arr = NULL;
x=3;
y=4;
createArr(arr, x, y);
for (i = 0; i < x; ++i) {
for (j = 0; j < y; ++j) {
printf("%d\n", arr[i][j]);
}
printf("\n");
}
_getch();
}
void createArr(int** arrPtr, int x, int y) {
int i, j; //Loop indexes
arrPtr = malloc(x*sizeof(int*));
for (i = 0; i < x; ++i)
arrPtr[i] = malloc(y*sizeof(int));
for (i = 0; i < x; ++i) {
for (j = 0; j < y; ++j) {
arrPtr[i][j] = i + j;
}
}
}