Rückgabe eines Arrays aus einer Funktion mit Pointer

ich versuche, herauszufinden, wie die Rückkehr ein array aus einer Funktion in der main().

Ich bin mit der C-Sprache.

Hier ist mein code.

#include <stdio.h>

int *initArray(int n){
    int i;
    int *array[n];

    for(i = 0; i < n; i++){
        array[i] = i*2; 
    }

    return array;
}

main(){
    int i, n = 5;
    int *array[n];

    array[n] = initArray(n);

    printf("Here is the array: ");

    for(i = 0; i < n; i++){ 
        printf("%d ", array[i]); 
    }

    printf("\n\n");
}

- Und das ist der Fehler die Konsole gibt mir:

2.c: In function initArray’:
2.c:8:13: warning: assignment makes pointer from integer without a cast [enabled by default]
    array[i] = i*2; 
            ^
2.c:11:3: warning: return from incompatible pointer type [enabled by default]
    return array;
    ^
2.c:11:3: warning: function returns address of local variable [-Wreturn-local-addr]
2.c: In function main’:
2.c:23:4: warning: format ‘%d expects argument of type int’, but argument 2 has type int *’ [-Wformat=]
    printf("%d ", array[i]); 
    ^

Es ist unmöglich!
Ich hasse es ein noob 🙁

Wenn Sie helfen könnten, mit den Erklärungen, würde ich mich freuen! 😀

  • Anstatt edit mit deinem post sagen "Gelöst" Akzeptieren einer Antwort, die auch Ihren Vorstellungen entspricht. Upvote Antworten, die hilfreich waren.
  • Sorry, ich bin neu auf dieser website. Ich denke, jede Antwort ist gut.
  • Anstatt zu entschuldigen, abgeben Was soll ich tun, wenn jemand Antworten auf meine Frage? man beachte das "Bitte nicht hinzufügen, einen Kommentar auf Ihre Frage oder auf eine Antwort zu sagen, "Danke""
Schreibe einen Kommentar