Pointeurs .

Bonjour,
j' ai une question qui me démange ..
Sur struct et pointeurs ..
Pour quoi je peu pas faire ça ..

typedef struct test {
int *toto ;
int val ;

} test ;

int main(void){

test *test ;
int tata = 4 ;
int *b = &tata ;
test->toto = b ;

printf(" ?? " );

}
Configuration: Linux capitaliste
Firefox 3.0.3

3 réponses

  1. Modérateur
    typedef struct test
    {
        int* toto;
        int val;
    } test;
    
    int main(void)
    {
        test* t = new(test);
    
        int tata = 4;
        int *b = &tata;
    
        t->toto = b ;
            
        printf(" ?? " );
    
        delete(t);
    }
    1. Ben oui tu PEUX le faire ... mais à plus ou moins long terme c'est le 'segment fault' assuré.
      Il FAUT allouer de l'espace à 'test'.
      Bonne continuation.
      1. Modérateur
        Tu peux pas écrire test *test ;
        test est un type défini par struct, il ne peut alors n'être utilisé que pour désigner le type...

        essaye test *t ;