Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2453 connectés 

 


Dernière réponse
Sujet : [C]Une fonction qui retourne un tab de char (urgent)
LeGreg

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


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
LeGreg

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

massanu bah jpense que c ca le prototype :
 
char* fonction1(parametre1,parametre2, etc...);
nightmare682 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

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)