AddArray1.c
#include <stdio.h> int addArray( int [], int ); int main() { int data[] = {4,3,2,1,0,5,6,7,8,9}; /* (A) */ int size = sizeof(data)/sizeof(data[0]); /* (B) */ printf("sum is %d\n", addArray( data, size )); /* (C) */ return 0; } int addArray( int a[], int n ) { /* (D) */ int sum = 0; int i; for(i=0; i<n; i++ ) sum += a[i]; /* (E) */ return sum; }
Line (A) of main
declares an integer array
data and initializes it. Line (B) calculates the number of
elements in the array. The function addArray is called to do
the summation.
The program uses data as an array name in the main program. In main, the sizeof operator returns 40 bytes. If the same call were made on a in the function addArray, the sizeof operator would return 4 bytes for the size required to store a memory pointer on a 32-bit system.
AddArray2.c
This version uses pointers explicitly, but does the same thing.
#include <stdio.h> int addArray( int*, int ); int main(void) { int data[] = {4,3,2,1,0,5,6,7,8,9}; int size = sizeof(data)/sizeof(data[0]); printf("Pointer Version: sum is %d\n", addArray( data, size )); return 0; } int addArray( int* a, int n ) { int sum = 0; int i; for(i=0; i<n; i++ ) sum += *a++; return sum; }
AddArray.cpp
The C version of the program used the standard I/O library, declared in stdio.h. The C++ version below uses the iostreams component of C++.
#include <iostream> //(A) using namespace std; //(B) int addArray( int*, int ); int main(void) { int data[] = {4,3,2,1,0,5,6,7,8,9}; int size = sizeof(data)/sizeof(data[0]); cout << "C++ version: sum is " //(C) << addArray( data, size ) << endl; return 0; } int addArray( int* a, int n) { int sum = 0; int i; for(i=0; i<n; i++ ) sum += *a++; return sum; }
AddArray.java
public class AddArray { //(A) public static void main( String[] args ) //(B) { int[] data = { 0, 1, 2, 3, 4, 5, 9, 8, 7, 6 }; //(C) System.out.println( "The sum is: " //(D) + addArray(data) ); } public static int addArray( int[] a ) { //(E) int sum = 0; for ( int i=0; i < a.length; i++ ) sum += a[i]; return sum; } }
addarray.py
' example python script to sum an array of integers ' def addArray(a): sum = 0 for v in a: sum += v return sum data = [4,3,2,1,0,5,6,7,8,9] print "The sum is %d" % addArray(data)
Maintained by John Loomis, last updated 29 December 2006