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
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.