C Pointers and Arrays
C Pointers and Arrays
University of Texas at Austin CS310 - Computer Organization Spring 2009 Don Fussell
Pointers and Arrays
We've seen examples of both of these in our LC-3 programs; now we'll see them in C.
Pointer
Address of a variable in memory Allows us to indirectly access variables
in other words, we can talk about its address rather than its value
Array
A list of values arranged sequentially in memory Example: a list of telephone numbers
Expression a[4] refers to the 5th element of the array a
University of Texas at Austin CS310 - Computer Organization Spring 2009 Don Fussell
2
Address vs. Value
Sometimes we want to deal with the address of a memory location, rather than the value it contains.
Recall example from Chapter 6: adding a column of numbers.
R2 contains address of first location.
Read value, add to sum, and increment R2 until all numbers have been processed.
R2 x3100
R2 is a pointer -- it contains the address of data we're interested in.
address
value
x3107 x3100 x2819 x3101 x0110 x3102 x0310 x3103 x0100 x3104 x1110 x3105 x11B1 x3106 x0019 x3107
University of Texas at Austin CS310 - Computer Organization Spring 2009 Don Fussell
3
Another Need for Addresses
Consider the following function that's supposed to swap the values of its arguments.
void Swap(int firstVal, int secondVal) {
int tempVal = firstVal; firstVal = secondVal; secondVal = tempVal; }
University of Texas at Austin CS310 - Computer Organization Spring 2009 Don Fussell
4
Executing the Swap Function
before call
after call
Swap
3
tempVal These values changed...
R6
R6
3
firstVal
4
firstVal
4
secondVal
3
secondVal
4
valueB
4
valueB
3
valueA
3
valueA
main
...but these
did not.
Swap needs addresses of variables outside its own
activation record.
University of Texas at Austin CS310 - Computer Organization Spring 2009 Don Fussell
5
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related searches
- high c reactive protein and joint pain
- emergen c pros and cons
- c 6 and 7 vertebrae
- c arrays examples with loops
- c lists and arrays
- c classes and objects
- 3rd grade arrays and multiplication
- difference between arrays and arraylists
- c arrays and functions
- c arrays examples
- c and c construction services
- 2d arrays in c programming