2009-10-29 2 views

Répondre

4

Oui, c'est la même chose. Si vous voulez en savoir plus, allez here.

+0

+ pour référence. –

4

Oui.        

+0

donc si j'ai int x [10]; int y [5]; Sont-ils de type équivalent en C? – root

+0

(int x [10]) est seulement équivalent à (int y [10]) – alexkr

1

Oui, si nous parlons de la syntaxe. Mais pensez à ceci:

 
typedef int MyType[5]; 

/* Some code, large enough fragment */ 

int func (MyType var) 
{ 
    /* Something that changes */ 
    return 0; 
} 

Si vous ne voyez que la déclaration func() vous pouvez penser qu'il reçoit var en valeur de sorte que tout changement à l'intérieur de la fonction est locale. Mais comme MyType est en réalité un tableau qui est un pointeur qui change var à l'intérieur de func() , vous pouvez changer la variable de l'appelant réel. Donc, en parlant de concept, ce n'est pas la même chose.