193 votes

Retourner un tableau en utilisant le C

Je suis relativement novice en C et j'ai besoin d'aide pour les méthodes relatives aux tableaux. Venant de la programmation Java, j'ai l'habitude de pouvoir dire int [] method() afin de retourner un tableau. Cependant, j'ai découvert qu'en C, vous devez utiliser des pointeurs pour les tableaux lorsque vous les retournez. En tant que nouveau programmeur, je n'y comprends vraiment rien, malgré les nombreux forums que j'ai consultés.

En gros, j'essaie d'écrire une méthode qui renvoie un tableau de caractères en C. Je vais fournir à la méthode (appelons-la returnArray) un tableau. Elle créera un nouveau tableau à partir du tableau précédent et retournera un pointeur sur celui-ci. J'ai juste besoin d'aide pour savoir comment démarrer cette méthode et comment lire le pointeur une fois qu'il est envoyé hors du tableau. Toute aide pour expliquer cela sera appréciée.

Format de code proposé pour la fonction de retour de tableau

char *returnArray(char array []){
 char returned [10];
 //methods to pull values from array, interpret them, and then create new array
 return &(returned[0]); //is this correct?
} 

Appelant de la fonction

int main(){
 int i=0;
 char array []={1,0,0,0,0,1,1};
 char arrayCount=0;
 char* returnedArray = returnArray(&arrayCount); ///is this correct?
 for (i=0; i<10;i++)
  printf(%d, ",", returnedArray[i]);  //is this correctly formatted?
}

Je ne l'ai pas encore testé car mon compilateur C ne fonctionne pas en ce moment mais j'aimerais trouver une solution.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X