pointers - Pointers 1 Pointers A pointer is a variable that...

Info iconThis preview shows pages 1–8. Sign up to view the full content.

View Full Document Right Arrow Icon
1 Pointers
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 Pointers • A pointer is a variable that contains the address of a variable. • Pointers provide a powerful and flexible method for manipulating data in your programs; but they are difficult to master.
Background image of page 2
3 Benefits of Pointers • Pointers allow you to reference a large data structure in a compact way. • Pointers facilitate sharing data between different parts of a program. – Call-by-Reference • Pointers make it possible to reserve new memory during program execution.
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
4 Pointer Variable Declarations and Initialization • Pointer variables – Contain memory addresses as their values – Normal variables contain a specific value (direct reference) – Pointers contain address of a variable that has a specific value (indirect reference) – Indirection – referencing a pointer value count 7 count 7 countPtr
Background image of page 4
5 Pointer Variable Declarations and Initialization • Pointer declarations – A pointer declaration takes the following form: type *identifier; e.g. int *myPtr; – Declares a pointer to an int (pointer of type int * ) – Multiple pointers require using a * before each variable declaration int *myPtr1, *myPtr2; – Can declare pointers to any data type – Initialize pointers to 0 , NULL , or an address 0 or NULL – points to nothing ( NULL preferred)
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
6 Pointer Operators (address operator) – Returns the address of operand int y = 5; int *yPtr; yPtr = &y; // yPtr gets address of y yPtr “points to” y yPtr y 5 yptr 500000 600000 y 600000 5 Address of y is value of yptr
Background image of page 6
7 Pointer Operators * (indirection/dereferencing operator) – Returns a synonym/alias of what its operand points to *yptr returns y (because yptr points to y ) * can be used for assignment • Returns alias to an object *yptr = 7; // changes y to 7 * and are inverses – They cancel each other out
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 8
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 04/30/2008 for the course C CMPE 150 taught by Professor Tuna during the Spring '08 term at Boğaziçi University.

Page1 / 21

pointers - Pointers 1 Pointers A pointer is a variable that...

This preview shows document pages 1 - 8. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online