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

  FORUM HardWare.fr
  Programmation
  C++

  les pointeurs - petite aide !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

les pointeurs - petite aide !

n°1106703
srs
newbie du c++
Posté le 03-06-2005 à 11:19:56  profilanswer
 

bonjour. comme je l'ai deja di dans un autre post, mes connaissances en C++ sont minimes :/
 
Ma_Struct *mon_pointeur /* ca je comprends ce que c'est !! */
Ma_Struct2 **abcdefgh /* la je ne comprend plus */
 
en tres gros, je dois implementer du code dans un projet existant en utilisant ces 2 variables
 
*mon_pointeur contient les données a traiter (sous forme de tableau) et **abcdefgh est la variable/pointeur (je sais pas trop ce que c'est) que je dois remplir pour transmettre des valeurs.
 
est ce que quelqu'un pourrait m'expliquer ce que represente ces 2 *.
 
merci d'avance !

mood
Publicité
Posté le 03-06-2005 à 11:19:56  profilanswer
 

n°1106706
blastman
just me !
Posté le 03-06-2005 à 11:22:03  profilanswer
 

un pointeur de pointeur


---------------
http://www.blastmanu.info
n°1106707
Friday Mon​day
Trop de hérissons écrasés...
Posté le 03-06-2005 à 11:22:21  profilanswer
 

int *ptr;  // un pointeur vers un int
int **ptr; // un pointeur vers un pointeur vers un int
int ***ptr; // un pointeur vers un pointeur vers un pointeur vers un int
 
etc...


---------------
Friedrich Nietzsche : Le christianisme et l'alcool, les deux plus grands agents de corruption
n°1106733
srs
newbie du c++
Posté le 03-06-2005 à 11:34:55  profilanswer
 

dans mon ex, j'accede tres simplement aux données fournies en faisant comme ceci :
 
mon_pointeur[n] ou n va de 0 au nombre de données differentes fournis -1
 
par contre, mon probleme vient pour remplir la variable de retour. bizarement lorsque je fait :  
 
abcdefgh[0] = 10 ;  /* par ex , cela marche je retrouve bien mon 10 pour la premiere donnée*/
abcdefgh[1] = 20 ; /* je ne retrouve pas le 20 pour la 2° donnée */
abcdefgh[2] = 30 ; /* cela passe a la compilation mais genere une exception pdt l'excution */
 
j'en ai plus ou moin conclus que ca ne marchait pas aussi betement que avec un tableau pourtant cela devrait l'etre tout comme avec la variable d'entrée (provient d'une fonction) *mon_pointeur .
 
ps : je suis pret par mail a discuter de ce probleme pour ne pas pourrir ce forum avec ma "noobitude" :D

n°1106793
Friday Mon​day
Trop de hérissons écrasés...
Posté le 03-06-2005 à 12:05:47  profilanswer
 

abcdefgh[1] est un pointeur vers une Ma_Struct2, ça ne peut pas marcher. T'es sûr que c'est pas un tableau bidimensionnel ?


---------------
Friedrich Nietzsche : Le christianisme et l'alcool, les deux plus grands agents de corruption
n°1106805
srs
newbie du c++
Posté le 03-06-2005 à 12:15:17  profilanswer
 

sur ! je peux pas te dire ! ce que je sais c'est que j'ai en effet tester comme ceci :
 
abcdefgh[0][0] /* par exemple, mais cela pose probleme a la compilation */
 
voici la structure :
 
typedef struct OrderItemResponseInq3_IDL {
 long positionItem;
 long soPositionItem;
 Amount_IDL price1;
 Amount_IDL price2;
 PriceMode_IDL priceMode;
 double quantity;
 double quantityATP;
 BSTR shortText;
 BSTR salesUnit;
 Material2_IDL alternativeMaterial;
 BSTR shortTextAM;
 BSTR manufacturerAM;
 BSTR usedMaterial;
 long inqStatus;
 long procStatus;
 long messageCode;
 BSTR responsePar1;
 BSTR responsePar2;
} OrderItemResponseInq3_IDL;
 
voila la fonction a programmer, du moins les paramatres en entrée et en sortie :
 
long processInquiry ( OrderHeaderInfo3 orderHeader,
            UserData supplierAddress,
            UserData customerAddress,
            long requestType,
            long checkAvailability,  
            long itemCount,  
            OrderItem3 *orderItem,  
            OrderItemResponseInq3 **orderItemResp,  
            OrderResult2 *orderResult)
 
**orderItemResp et *orderResult sont les deux parametres de retour.


Message édité par srs le 03-06-2005 à 12:16:19
n°1107268
Fan-DvdRam
Posté le 03-06-2005 à 16:40:25  profilanswer
 

srs a écrit :

sur ! je peux pas te dire ! ce que je sais c'est que j'ai en effet tester comme ceci :
 
abcdefgh[0][0] /* par exemple, mais cela pose probleme a la compilation */
 
voici la structure :
 
typedef struct OrderItemResponseInq3_IDL {
 long positionItem;
 long soPositionItem;
 Amount_IDL price1;
 Amount_IDL price2;
 PriceMode_IDL priceMode;
 double quantity;
 double quantityATP;
 BSTR shortText;
 BSTR salesUnit;
 Material2_IDL alternativeMaterial;
 BSTR shortTextAM;
 BSTR manufacturerAM;
 BSTR usedMaterial;
 long inqStatus;
 long procStatus;
 long messageCode;
 BSTR responsePar1;
 BSTR responsePar2;
} OrderItemResponseInq3_IDL;
 
voila la fonction a programmer, du moins les paramatres en entrée et en sortie :
 
long processInquiry ( OrderHeaderInfo3 orderHeader,
            UserData supplierAddress,
            UserData customerAddress,
            long requestType,
            long checkAvailability,  
            long itemCount,  
            OrderItem3 *orderItem,  
            OrderItemResponseInq3 **orderItemResp,  
            OrderResult2 *orderResult)
 
**orderItemResp et *orderResult sont les deux parametres de retour.


 
 
 
et comme ça c'est plus claire ?
 
 
 
 
#include <stdio.h>
#include <stdlib.h>
 
typedef struct  
{
 int val01;
 int val02;
}myStruct;
 
 
 
 
int callStruct(myStruct **pStruct)
{
 myStruct *pStructVal;
 
 pStructVal = *pStruct;
 
 if(pStructVal != NULL)
 {
 printf("Val1 : %d \tVal2 : %d \n", pStructVal->val01, pStructVal->val02);
 }
 return 0;
}
 
 
int callTest(void)
{
myStruct test;
myStruct* pDatatest;
 
pDatatest = &test;
 
 
test.val01 = 10;
test.val02 = 20;
callStruct(&pDatatest);
return 0;
}


Message édité par Fan-DvdRam le 03-06-2005 à 16:43:49
n°1109379
srs
newbie du c++
Posté le 06-06-2005 à 11:11:40  profilanswer
 

j'ai trouver la soluce.
 
en me prennant la tete un peu, j'ai chercher comment ils lisaient cette variable a la fin de la fonction et le resultat est :  
 
(*orderItemResp)[n] /* ou n varie suivant le nombre de ligne */
 
jvous remercie a tous pour les soluces et vous souhaite une bien belle journée !!!
 


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

  les pointeurs - petite aide !

 

Sujets relatifs
aide pour une requete SQLAide sur 2 formulaires php
Aide pour envoie d'une commandebesoin d'aide pour mon bou de php,
Besoin d'aide, schema xmlaide pour onglet
[SQL Server] aide pour faire une requète avec un MAX()besoin d'aide formulaire js switch
Besoin d'aide niked-klan ?[INSTALLSHIELD]J'ai besoin d'aide j'y comprend rien
Plus de sujets relatifs à : les pointeurs - petite aide !


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