[C]Une fonction qui retourne un tab de char (urgent)

Une fonction qui retourne un tab de char (urgent) [C] - Programmation

Marsh Posté le 25-03-2002 à 22:15:47    

Comment on fait pour appelé une fonction qui retourne un tableau de caractères????
Et qu'elle est le prototype de la fonction.
Merci d'avance

Reply

Marsh Posté le 25-03-2002 à 22:15:47   

Reply

Marsh Posté le 25-03-2002 à 22:47:00    

bah jpense que c ca le prototype :
 
char* fonction1(parametre1,parametre2, etc...);


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
Reply

Marsh Posté le 25-03-2002 à 23:30:20    

nightmare682 a écrit a écrit :

Comment on fait pour appelé une fonction qui retourne un tableau de caractères????
Et qu'elle est le prototype de la fonction.
Merci d'avance



 
Tout depend ce que tu appelles un tableau de caractere..
En C, pas de miracle il faut au prealable allouer
la memoire necessaire. Que ce soit sur la pile, sur le tas, ou en memoire globale.
Une allocation en memoire globale se fait comme ca:
char montableau[100];
int main() {
..
}
Une allocation sur la pile comme ca:
int mafonction() {
  char montableau[100];
}
Une allocation sur le tas comme ca:
char * montableau = malloc(100 * sizeof(char)); // sizeof(char) optionnel
 
Si une fonction ne prend aucun pointeur en parametre, elle peut renvoyer un pointeur vers un tableau, alloue en memoire globale ou sur le tas.
Si elle prend un pointeur non modifiable en parametre, alors c'est a la fonction appelante d'allouer la memoire pour placer les caracteres.
 
ex:
int remplis(char* argtableau) {
/../
};
/../
char montableau[100];
remplis(montableau);
 
sinon:
char * alloue(int n) {
  char * temp = malloc(n);
..
  return temp;
}
/../
char * montableau = alloue(100);
/../
free(montableau); // ne pas oublier de liberer la memoire
 
Pour utiliser malloc et free, tu dois inclure malloc.h
 
LEGREG

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed