begin process at 2012 05 30 15:14:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

renvoie d'un tableau en char ds une fonction


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

renvoie d'un tableau en char ds une fonction

dimanche 2 mars 2003 à 23:12:55 | renvoie d'un tableau en char ds une fonction

TheBabyCool

Comment peut on renvoyer un tableau de char du type :
char i[][] dans une fonction ?

Merci
lundi 3 mars 2003 à 12:57:27 | Re : renvoie d'un tableau en char ds une fonction

superoi


Un ptit coup de malloc et ca fonctionnera :)

en fait tu declare la variable en tant que tableau[] donc
en tant que variable locale qui ne sera plus allouee quand
tu quittera la fonction.
S'tu malloc une zone memoire ou tu recopie ton tableau
et que tu renvoie le pointeur vers cette zone memoire ca
devrait aller.

-------------------------------
Réponse au message :
-------------------------------

> Comment peut on renvoyer un tableau de char du type :
> char i[][] dans une fonction ?
>
> Merci
lundi 3 mars 2003 à 22:11:13 | Re : renvoie d'un tableau en char ds une fonction

vieuxLion

bonjour,
voici un petit bout de code qui peut aider
la fonction f alloue sur le tas la mémoire nécessaire au tableau dynamique

#include <iostream>
using namespace std;

const int COL=5;
const int LIG=2;

char** f(int x, int y)
{
char** p = new char*[x];
for (int i=0; i<x; i++)
{
p[i]=new char[y];
for (int j=0; j<y; j++)
p[i][j]=i+j;
}
cout << "alloc p[" << x << "," << y << "], p= " << (void*)p << endl;
return p;
}
int main()
{

int a=2, b=5;
char** p = f(a,b);//la fonction va allouer de la memoire sur le tas
//ici on peut utiliser le tableau renvoyé....
//il s'agit ensiute de BIEN TOUT libérer
for (int i=0; i<a; i++)
delete p[i];
delete[] p;
return 0;
}



-------------------------------
Réponse au message :
-------------------------------

>
> Un ptit coup de malloc et ca fonctionnera :)
>
> en fait tu declare la variable en tant que tableau[] donc
> en tant que variable locale qui ne sera plus allouee quand
> tu quittera la fonction.
> S'tu malloc une zone memoire ou tu recopie ton tableau
> et que tu renvoie le pointeur vers cette zone memoire ca
> devrait aller.
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Comment peut on renvoyer un tableau de char du type :
> > char i[][] dans une fonction ?
> >
> > Merci
>
lundi 3 mars 2003 à 22:12:44 | Re : renvoie d'un tableau en char ds une fonction

vieuxLion

et on peut retirer les const ...
qui ne servent à rien



-------------------------------
Réponse au message :
-------------------------------

> bonjour,
> voici un petit bout de code qui peut aider
> la fonction f alloue sur le tas la mémoire nécessaire au tableau dynamique
>
> #include <iostream>
> using namespace std;
>
> const int COL=5;
> const int LIG=2;
>
> char** f(int x, int y)
> {
> char** p = new char*[x];
> for (int i=0; i<x; i++)
> {
> p[i]=new char[y];
> for (int j=0; j<y; j++)
> p[i][j]=i+j;
> }
> cout << "alloc p[" << x << "," << y << "], p= " << (void*)p << endl;
> return p;
> }
> int main()
> {
>
> int a=2, b=5;
> char** p = f(a,b);//la fonction va allouer de la memoire sur le tas
> //ici on peut utiliser le tableau renvoyé....
> //il s'agit ensiute de BIEN TOUT libérer
> for (int i=0; i<a; i++)
> delete p[i];
> delete[] p;
> return 0;
> }
>
lundi 3 mars 2003 à 22:15:10 | Re : renvoie d'un tableau en char ds une fonction

vieuxLion

décidément, je ne suis pas en forme !
pour BIEN TOUT libérer proprement....
remplacer mon delete p[i] par
delete[] p[i] ... bien sûr !

-------------------------------
Réponse au message :
-------------------------------

> et on peut retirer les const ...
> qui ne servent à rien
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > bonjour,
> > voici un petit bout de code qui peut aider
> > la fonction f alloue sur le tas la mémoire nécessaire au tableau dynamique
> >
> > #include <iostream>
> > using namespace std;
> >
> > const int COL=5;
> > const int LIG=2;
> >
> > char** f(int x, int y)
> > {
> > char** p = new char*[x];
> > for (int i=0; i<x; i++)
> > {
> > p[i]=new char[y];
> > for (int j=0; j<y; j++)
> > p[i][j]=i+j;
> > }
> > cout << "alloc p[" << x << "," << y << "], p= " << (void*)p << endl;
> > return p;
> > }
> > int main()
> > {
> >
> > int a=2, b=5;
> > char** p = f(a,b);//la fonction va allouer de la memoire sur le tas
> > //ici on peut utiliser le tableau renvoyé....
> > //il s'agit ensiute de BIEN TOUT libérer
> > for (int i=0; i<a; i++)
> > delete p[i];
> > delete[] p;
> > return 0;
> > }
> >
>


Cette discussion est classée dans : fonction, tableau, ds, char, renvoie


Répondre à ce message

Sujets en rapport avec ce message

tableau [ par zeratul67 ] J'ai une fonction qui doit me renvoyer un tableau à deux dimensions, mais la taille de l'une des ces 2 dimensions est inconue. (tableau: char cp[x][25 fonction strlen [ par ToToL ] Voici mon probleme :je voudrai dans un tableau a deux dimetion savoir combien il reste de place dans les colone donc j'ai pensé a la fonction strlen c fonction char -> bool [ par destroy2k4 ] salut a tous je suis debutant en programmation et j'ai un petit problemevoila en fait j'ai besoin d'une fonction C qui prend en parametre un tableau d fonction qui renvoie un tableau [ par melkiorlenecrarque ] SalutQuelqu'un pourait m'ecrire une fonction qui renvoie un tableau[12] ?merci, je galere un peu pour ça. Une fonction qui renvoie un tableau [ par RLBDC ] Bonjour ,Je suis encore noob  en C, et je ne trouve pas comment on fait pour qu'une fonction retourne un tableau .En gros, je souhaiterais pouvoir fai passage de valeurs de fonction a fonction [ par binoua ] salut à tous,Je débute en c++ et je n'arrive pas à faire le truc de base. En fait dans ma fonction principale je rentre le nom d'un fichier puis je di passer un tableau de chaines à 2 dimention comme argument d'une fonction [ par boujerra ] bonjour à tous mon probleme est le suivant je veux passer en parametre d'une fonction un tableau à 2 dimention au cour de la fonction main tout se pas Fonction decouper une chaine de caractere [ par 2koa ] Bonjour, je dois ecrire une fonction qui decoupe une chaine de caracteres en mots. La fonction renvoie un tableau, où chaque case contient l'adresse


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,170 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales