DMP - Chapter 10
Arrays and Pointers
Array initialization
- automaitc, external, and static
- empty brackets
Pointers to arrays
Functions, arrays, and pointers
int sum(int *array, int size)
Pointer operations
- Assignment
short sdata, , *ptr_short;
long ldata, *ptr_long;
ptr_short = 400;
ptr_long = 400;
printf("short: %p, long: %p \n"), ptr_short, ptr_long);
*ptr_short = 124; /* what's wrong ? */
- Dereferencing: *
- Taking a pointer address: &
- Listing 10.8
- Incrementing
- Differencing
- Listing 10.9
Multidimentional arrays
float rain[5][12];
int row_matrix[12][12];
static char fruit[3][2] = {'B', 'A', 'N', 'A', 'N', 'A'};
static int sq[2][3] = { {5, 6}, {7, 8} };
double 3_d[10][12][8];
short multi[3][5][100][4];
Pointers and multidimentional arrays.
- Read p. 340-3.
- Listing 10.12
- Listing 10.13
zip[0] == | &zip[0][0] == | *zip |
zip[1] == | &zip[1][0] == | *(zip + 1) |
zip[2] == | &zip[2][0] == | *(zip + 2) |
zip[3] == | &zip[3][0] == | *(zip + 3) |
- Applying the * operator to each:
*zip[0] == | zip[0][0] == | **zip |
*zip[1] == | zip[1][0] == | **(zip + 1) |
*zip[2] == | zip[2][0] == | **(zip + 2) |
*zip[3] == | zip[3][0] == | **(zip + 3) |
Go to Ich's Home Page
Go to the Peabody Home Page
For comments or questions email to:
ich@peabody.jhu.edu