We see the argument as int list[], which is clearly an array, but the compiler frames this as int* list, so list is a pointer to integer.This function knows nothing about the array, except the address of its first element, and that it is supposed to interpret the data it finds there as integer.