2017-03-22 2 views
0

Je suis confus au sujet de la différence entre passer un tableau et un pointeur. Lorsque nous passons un tableau, nous n'écrivons que son nom (nom de variable). exemple: fonction (tableau); lorsque nous passons un pointeur, nous devons ajouter un &. exemple: fonction (& pointeur);passant un tableau et un pointeur sur une fonction

mais un tableau est en réalité un pointeur sur le premier élément pourquoi ne pouvons-nous pas seulement écrire le nom d'un pointeur pour le passer à une autre fonction?

+0

@ Barmar - cette question peut avoir d'autres doublons sur SO, mais je ne pense pas que la question choisie en soit une. Il semble que OP demande pourquoi, étant donné un tableau 'int arr []', nous pouvons passer un pointeur sur le premier élément avec 'func (arr)', mais étant donné un pointeur, nous ne pouvons pas. Bien sûr, cela est erroné, et je pense que la confusion est que, étant donné 'int n', nous passons un pointeur avec' func (& n) ', mais étant donné un pointeur sur n,' int * p = & n', nous passons le nom du pointeur, avec 'func (p)'. –

Répondre

0

La différence entre les deux est seulement syntaxique. La façon dont c'est écrit est différente. Il y a la même question sur StackOverflow concernant cette question. Vous pouvez y jeter un coup d'oeil here.