Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : tableau d'entier. [ Archives / Au secours ] (gdpasmini)

lundi 24 avril 2006 à 12:10:45 | tableau d'entier.

gdpasmini

Hello !

j'ai un petit soucis avec une fonction qui renvoi un tableau en parametre... voila les details :

Dans mes fonctions :

int * boutonDecodFlux(void)
{
   int tabNbrFluxParCom[NOMBRE_DE_COM];
   int *tab = (int *)tabNbrFluxParCom[NOMBRE_DE_COM];

   return tab;
}

void fonction(int * tableau)
{
   printf("%d", tableau[0];
}

Dans mon prog :

int * tab;
tab = boutonDecodFlux();
fonction(tab);

Ca compile mais lorsque j'execute, ca plante dans la fonction "fonction".. je ne vois pas quel est le probleme... Quelqu'un peut il maider??

Merci d'avance !



lundi 24 avril 2006 à 12:27:42 | Re : tableau d'entier.

luhtor

Réponse acceptée !
Evidemment, ta fonction boutonDecodFlux(void) retourne un pointeur sur un tableau qui est détruit lorsque cette meme fonction s'arrete.

int * boutonDecodFlux(void)
{
    return new int[NOMBRE_DE_COM];
}


lundi 24 avril 2006 à 12:45:51 | Re : tableau d'entier.

ymca2003

Réponse acceptée !
ou alors :
int * boutonDecodFlux(void)
{
  static  int tabNbrFluxParCom[NOMBRE_DE_COM];
   int *tab = (int *)tabNbrFluxParCom[NOMBRE_DE_COM];

   return tab;
}


lundi 24 avril 2006 à 14:02:41 | Re : tableau d'entier.

gdpasmini

Ok merrci beaucoup !!!

en fait, j'ai jamais compris a koi servait le static... En fait c'est simplement pour qu'un pointeur vers une variable local ne soit pas détruit apres l'appel d'une fonction.. Est ce exact ??

En tout cas merci encore !!

lundi 24 avril 2006 à 14:31:28 | Re : tableau d'entier.

ymca2003

le mot clé static donne une durée de vie égale à celle du programme mais avec une portée réduite au bloc (fonction dans ce cas)

lundi 24 avril 2006 à 14:35:09 | Re : tableau d'entier.

luhtor

Ca veut aussi dire que tu ne peux appeler qu'une fois ta fonction. La deuxième fois, ca retournera le meme tableau. Donc tu ne pourras en avoir qu'un seul.

lundi 24 avril 2006 à 14:56:04 | Re : tableau d'entier.

gdpasmini

Oki.. et si je veux modifier mon tableau en cours de programme, il vaut mieux que j'utilise la premiere methode ?

merci pour vos conseils !!

lundi 24 avril 2006 à 16:07:36 | Re : tableau d'entier.

luhtor

Si tu veux le modifier pas de pb, mais si tu veux créer deux tableaux, tu peux pas utiliser "static".



lundi 24 avril 2006 à 16:07:59 | Re : tableau d'entier.

luhtor

Si tu veux le modifier pas de pb, mais si tu veux créer deux tableaux, tu peux pas utiliser "static".





Cette discussion est classé dans : fonction, int, tableau, tab, entier


Répondre à ce message

Sujets en rapport avec ce message

Allocation dynamique dans une fonction [ par Veovis ] Salut,Toujours dans mon projet de TP, j'ai un petit soucis avec l'allocation dynamique dans une fonction. Ce que je voudrais faire c'est quand le tabl Tableau en C [ par Mickylord ] Bonsoir a tous !Voici ma question :J'ai une fonction principale, main(), et une autre fonction tab(). Je voudrais déclarer un tableau dans la fonction plantage en utilisant le constructeur "new" [ par Ganaga ] Bonjour,J'utilise le constructeur new pour affecter un tableau d'entiers dans une boucle qui s'exécute plus de 10000x. Au bout d'un certain temps (lon exclusion d'un Intervalle dans un tableau ... [ par pirana ] Bonjour à tous , j'aimerais sauté un intervale dans un textevoici mon code je pense que ca sera plus explicite :)data[]={01234567ABCDEFLI01234567ABCDE tableau de struct et fonction en C [ par sim51 ] Bonjour à tous. J'ai un petit problème de syntax, après plusieurs recherche sur le net, je n'ai pu ni affirmer ou ni infirmer la validation de mon cod tableau [ par imanedaoudi ] Salut,Je veux récuperer le tableaux triée sans faire return, avec ce programme je recupere le tableau non trier ,comment faire pour recuperer le tab t Pb à l'exécution [ par tomalille ] Bonjour,J'ai un petit pb à l'execution de ce prog. Il compile et les liens sont fait sans erreur ni warning. Par contre lorsque j'appelle le sous-prog Un tableau en variable globale [ par nisaloncaje ] Rebonjour a tous,Je désirerais maintenant que mon tableau qui a pour dimension tab soit accessible à une fonction appelé dans main() :j'ai la syntaxe inserer un entier dans un tableau de int [ par clcat ] salut la compagnie j ai un ptit probleme(visual C++)j ai un tableau de string :   string TAB[10];et j ai un entier, p=3 par exemple la valeur de p n'e Problemes ac les tableau [ par alussk ] ce code doit renvoyer la niemes plus grande valeur d'un tableau d'entier. il ne marche pas donc si vous comprenez pourquoi éclairez moi svp #include


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,530 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.