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

  FORUM HardWare.fr
  Programmation
  C

  Différence entre pointeur et tableau, allocation dynamique et statique

 

 

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Différence entre pointeur et tableau, allocation dynamique et statique

n°1866369
Caille Rot​ie
Posté le 26-03-2009 à 18:35:47  profilanswer
 

Bonjour à tous.
 
Après mon entrée lamentable sur ce forum, (http://forum.hardware.fr/hfr/Progr [...] m#t1866287) j'ai découvert un truc dont j'avais pas idée : un tableau n'est pas un pointeur !
 
Alors on pourra dire toute ce qu'on veut sur mon école d'ingénieur, mais là, je tombe des nues, j'y comprends rien malgré ma bonne volonté à lire (et essayer de comprendre) les multiples messages référents à ce qui visiblement est quasiment un troll sur ce forum. (que j'ai essayé de référencer ici également).  
Quand aux docs sur le net, j'ai rien trouvé qui m'explique cela correctement...
 
En fait, ce qui me chagrinne dans cette histoire, c'est que je n'ai entendu nulle part dans ces topics parler d'allocation. Or, cela me semble la base de tout !!
 
Pour plagier Ace17 http://forum.hardware.fr/hfr/Progr [...] 8905_1.htm :

Code :
  1. char name1[20]; //allocation statique
  2. char* name2; // définition d'un pointeur
  3. name2 = (char *) malloc(20*sizeof(char)); // allocation dynamique
  4. name2[2] = 'c'; // Légal puisque le tableau est alloué maintenant


Dites moi si je me trompe.
 
Je me serait très bien passé de cette polémique, mais je souhaite faire un qsort qui appelle une fonction de comparaison (sur une chaine de caractère allouée dynamiquement qui est dans une structure). Mon compilateur me dit que j'ai un déréférencement, et sortie du code tout fait ( return( strcmp(*(char **)sp1, *(char **)sp2) ); ) je suis perdue dans les typages.
 
Merci à tous ceux qui accepterons d'éclairer ma lanterne.

mood
Publicité
Posté le 26-03-2009 à 18:35:47  profilanswer
 

n°1866371
Emmanuel D​elahaye
C is a sharp tool
Posté le 26-03-2009 à 18:44:57  profilanswer
 

Caille Rotie a écrit :

je souhaite faire un qsort qui appelle une fonction de comparaison (sur une chaine de caractère allouée dynamiquement qui est dans une structure). Mon compilateur me dit que j'ai un déréférencement, et sortie du code tout fait ( return( strcmp(*(char **)sp1, *(char **)sp2) ); ) je suis perdue dans les typages.


Le fait que le tableau soit alloué ou pas n'a pas d'importance pour qsort(). L'important est :

 

1 - de passer les bons paramètres à qsort()
2 - de comprendre la signification des paramètres de la fonction de comparaison que l'on doit écrire.

 

http://mapage.noos.fr/emdel/qsort.htm

 

Ensuite, fait de ton mieux et poste ton code si tu as un problème.


Message édité par Emmanuel Delahaye le 26-03-2009 à 18:47:29

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1866408
Caille Rot​ie
Posté le 26-03-2009 à 20:56:36  profilanswer
 

Merci pour le lien, clair et explicite.
Ca a pas marché tout de suite, mais j'ai fini par corriger des problèmes de déclaration, et ça passe.
 
Merci beaucoup et tant pis pour le coup des pointeurs vs tableaux, j'aurais bien l'occasion de m'y recoller à une nouvelle occasion.

n°1866449
Elmoricq
Modérateur
Posté le 26-03-2009 à 23:41:00  profilanswer
 

Note que sur le lien d'Emmanuel figure également un excellent chapitre traitant justement de ce sujet : http://mapage.noos.fr/emdel/notes.htm#tableau


Message édité par Elmoricq le 26-03-2009 à 23:41:36

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

  Différence entre pointeur et tableau, allocation dynamique et statique

 

Sujets relatifs
[Résolu] Cacher, afficher une ligne de tableau <TR> en JavascriptVariable statique ou variable de session ?
Largeur de colonne tableau - cssHelp Javascript -> Formulaire dynamique
récupérer différentes valeurs d'une même variable dans un tableauVariable et tableau
Tableau [][] : vérifier qu'il n'y a pas de ligne identiqueMVC sur un tableau
[Résolu] Fonction retournant un tableau allouer dynamiquement[Graphique] Modifier la taille d'un tableau
Plus de sujets relatifs à : Différence entre pointeur et tableau, allocation dynamique et statique


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