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

  FORUM HardWare.fr
  Programmation
  C

  [C] Probleme types de variables - Debutant

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Probleme types de variables - Debutant

n°1743574
blobloblo
Posté le 09-06-2008 à 17:00:29  profilanswer
 

Bonjour,
je debute en C et je dois faire un petit programme de tri. Pour l'instant, je stock les donnes en parametre dans un buffer,mais j'aimerai "renvoyer" ce buffer dans une autre fonction. Sauf qu'a la compilation, j'ai un message qui me dit qu'il y a incompatibilite entre les deux declarations de variables.
Pourant 'buf' est bien un char** non ?
 
Merci d'avance, voici mon code :
 
int show(char **buf)    /*Je voudrai juste tester sir le buffer est bien "arrive" sur cette fonction*/
{
  int i = 0;
  for (;buf;i++)
    printf("%s", buf[i]);
  return(0);
}
 
int alloc(char **argv)
{
  char buf[1024][1024];
  int i, j;
  for (i = 1; argv[i]; i++)
    {
      for (j = 0; argv[i][j]; j++)
 {
   if (argv[i][j] >= 97 && argv[i][j] <= 122)     [i]/*Je met tous le texte en MAJ*/

       buf[i][j] = argv[i][j] -= 32;
   else
       buf[i][j] = argv[i][j];
 }
    }
  show(buf);
  return (0);
}
 
 
int main(int argc, char **argv)
{
  if (argc < 2)
    {
      printf("\n" );
      exit(-1);
    }
  alloc(argv);
  return (0);
}
 
 
Voici le message a la compile :  
In function 'alloc': warning: passing argument 1 of 'show' from incompatible pointer type


Message édité par blobloblo le 09-06-2008 à 17:02:17
mood
Publicité
Posté le 09-06-2008 à 17:00:29  profilanswer
 

n°1743582
Joel F
Real men use unique_ptr
Posté le 09-06-2008 à 17:09:56  profilanswer
 

un tableau n'est pas un pointeur :o
donc soit tu passe par des mallocs pr creer buffer soit tu corrige le prototype de show :
 
int show( char buffer[][1024] );
 
Je t'enjoins néanmoins à utiliser l'allocation dynamique. J'ai deja donné une reponse précise pr les tableaux 2D efficace dans un autre topic.

n°1743603
Taz
bisounours-codeur
Posté le 09-06-2008 à 17:56:41  profilanswer
 

Ton show marche pas. Si ton char** est terminé par un NULL (comme argv l'est, ie argv[argc] == NULL), fais un for ( ; *buf; ++buf) puts(*buf);


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [C] Probleme types de variables - Debutant

 

Sujets relatifs
Problème programmation C++Problème avec 2 fonctions en meme temps.
Petit probleme pour petit script de news simpledébutant, spring
Exercice DebutantDebutant VBA
[C#.NET] Surcharger l'operateur " ++ " pour une hashtable, comment ?[PHP] Variables dynamiques et Checkbox
Probleme migration sgbd pour site php 
Plus de sujets relatifs à : [C] Probleme types de variables - Debutant


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR