Machine-translated by Google. Questions are authored in English.
Top

Discussion

Is there any difference in the following declarations?

int fun(int arr[]);
int fun(int arr[2]);

  • A.Yes
  • B.No

Answer: B

Correct answer: No

There is no difference. In a parameter list an array declarator is adjusted to a pointer, so both int arr[] and int arr[2] become int *arr. The compiler ignores the bound entirely - which is why a function cannot tell how long the array it was passed really is, and why the length is usually passed as a second parameter.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.