home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / Ebooks / Thinking in C++ V2 / C03 / ArrayArguments.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2000-05-25  |  909 b   |  42 lines

  1. //: C03:ArrayArguments.cpp
  2. // From Thinking in C++, 2nd Edition
  3. // Available at http://www.BruceEckel.com
  4. // (c) Bruce Eckel 1999
  5. // Copyright notice in Copyright.txt
  6. #include <iostream>
  7. #include <string>
  8. using namespace std;
  9.  
  10. void func1(int a[], int size) {
  11.   for(int i = 0; i < size; i++)
  12.     a[i] = i * i - i;
  13. }
  14.  
  15. void func2(int* a, int size) {
  16.   for(int i = 0; i < size; i++)
  17.     a[i] = i * i + i;
  18. }
  19.  
  20. void print(int a[], string name, int size) {
  21.   for(int i = 0; i < size; i++)
  22.     cout << name << "[" << i << "] = " 
  23.       << a[i] << endl;
  24. }
  25.  
  26. int main() {
  27.   int a[5], b[5];
  28.   // Probably garbage values:
  29.   print(a, "a", 5);
  30.   print(b, "b", 5);
  31.   // Initialize the arrays:
  32.   func1(a, 5);
  33.   func1(b, 5);
  34.   print(a, "a", 5);
  35.   print(b, "b", 5);
  36.   // Notice the arrays are always modified:
  37.   func2(a, 5);
  38.   func2(b, 5);
  39.   print(a, "a", 5);
  40.   print(b, "b", 5);
  41. } ///:~
  42.