Passing a two-dimensional array to a function : function parameters « Function « C++ Tutorial

#include <iostream>
using std::cout;
using std::endl;

double f(double values[][4], int n);

int main() {
  double beans[3][4] = {
                         { 1.0,  2.0,  3.0,  4.0},
                         { 5.0,  6.0,  7.0,  8.0},
                         { 9.0, 10.0, 11.0, 12.0}

  cout << f(beans, sizeof beans/sizeof beans[0])<< endl;
  return 0;

double f(double array[][4], int size) {
  double sum = 0.0;
  for(int i = 0 ; i < size ; i++)       
    for(int j = 0 ; j < 4 ; j++)        
      sum += array[i][j];
  return sum;

7.3.function parameters
7.3.1.Passing int by value
7.3.2.Define function to accept three int parameters
7.3.3.Pass a pointer to a function.
7.3.4.Pass variable address to a function
7.3.5.Pass int array to a function
7.3.6.Declare int array parameter for a function without indicating the array length
7.3.7.Function parameter: Use int pointer to accept an array
7.3.8.Use array as function's parameter
7.3.9.Change the contents of an array using a function
7.3.10.Pass a string to a function: Invert the case of the letters within a string
7.3.11.Change a call-by-value parameter does not affect the argument
7.3.12.Demonstrate the pointer version of swap(): Exchange the values of the variables pointed to by x and y
7.3.13.Using reference parameters
7.3.14.Passing a two-dimensional array to a function
7.3.15.Passing an array to a function
7.3.16.var args has to be the last one
7.3.17.the use of ... and its support macros va_arg, va_start, and va_end
7.3.18.Handling an array parameter as a pointer