Un peux de pointeur en C :D

Résolu
MatthMirage Messages postés 47 Statut Membre -  
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Voila mon petit problème

J'ai un structure qui contient un tableau,

typedef struct {
unsigned char tableau[10];
}_structtableau


j'ai un pointeur sur cette structure

_structtableau struct1;
_structtableau pnt_struct1 = &struct1 ;


Je souhaite maintenant faire pointé un pointeur sur la 1er case du tableau mais le code suivant :
unsigned char *pnt_tbl;
pnt_tbl = pnt_pnt_struct1->tableau
;

ne me donne pas la bonne réponse...

Des idée parce que je bloque bien... ?
Merci
Configuration: Windows 7 / Firefox 3.6

3 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    typedef struct {
    unsigned char tableau[10];
    }_structtableau ; /* il manque un ; */
    
    _structtableau struct1;
    _structtableau *pnt_struct1 = &struct1 ; /* il manque une * pour déclarer un pointeur */
    
    unsigned char *pnt_tbl;
    pnt_tbl = pnt_struct1->tableau; /* le nom est incorrect */
    
    1
  2. biboo_ Messages postés 1462 Statut Membre 106
     
    pnt_tbl = pnt_pnt_struct1->tableau[0] ?
    0
    1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      &(pnt_struct1->tableau[0])
      serait déjà mieux.
      0
      1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847 > Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Salut Char Snipeur,
        Non c'est mieux de mettre sans l'esperluette. C'est comme dans le cas scanf("%s", tableau); où on a char tableau[X] il ne vaut mieux pas mettre d'esperluette sinon les types ne sont plus totalement cohérents.

        Cdlt,
        0
      2. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331 > Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Heu, je persiste.
        char * ptn =&(pnt_struct1->tableau[0]) ;
        ou mieux
        char *ptn=pnt_struct1->tableau;
        Mais si on a
        char * ptn=(pnt_struct1->tableau[0]) ;
        alors là je voi un problème de type.
        0
  3. MatthMirage Messages postés 47 Statut Membre 4
     
    Merci pour vos réponse !
    0