Pointeurs .

Pas de -  
KX Messages postés 19031 Statut Modérateur -
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(" ?? " );

}

3 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
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 ;
0
loupius
 
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.
0
KX Messages postés 19031 Statut Modérateur 3 020
 
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);
}
0