This seemingly different behavior is actually consistent with the rule that a parameter gets THE VALUE of its argument. It is just that the value of an array argument (the base address of the array) is different than the value of an int, float, struct, ..., argument.
The typical NFL player makes $860,000 per year in 2015. Players like Drew Brees ($23.8 million) and Philip Rivers ($21.2 million) make a lot more. The minimum NFL salary is $435,000 per year. There are 32 teams in the NFL with 53 players each. That makes 1,696 NFL players total. Total salary money of about $3.6 billion is split between all players.
Of course, NBA players have the distinct advantage of playing in a league with just 12 players on each active roster, which means the total amount spent on player salaries, ranks just third in the world. Meanwhile, NFL players rank just sixth in the world with an average salary of $2.4 million. But with 53-man rosters, NFL teams pay their players a total of $4.1 billion, more than $330 million more than any other sports league.