The Implications of Using Arrays as Arguments
Let’s look at the implications of Listing 7.5. The function call sum_arr(cookies, ArSize)
passes the address of the first element of the cookies
array and the number of elements of the array to the sum_arr()
function. The sum_arr()
function initializes the cookies
address to the pointer variable arr
and initializes ArSize
to the int
variable n
. This means Listing 7.5 doesn’t really pass the array contents to the function. Instead, it tells the function where the array is (the address), what kind of elements it has (the type), and how many elements it has (the n
variable). (See Figure 7.4.) Armed with this information, the function then uses the original array. If you pass an ordinary variable, the ...
Get C++ Primer Plus now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.