Presentation is loading. Please wait.

Presentation is loading. Please wait.

Pointers. andy = 25; fred = andy; ted = &andy; andy = 25; ted = &andy; beth = *ted;

Similar presentations


Presentation on theme: "Pointers. andy = 25; fred = andy; ted = &andy; andy = 25; ted = &andy; beth = *ted;"— Presentation transcript:

1 Pointers

2 andy = 25; fred = andy; ted = &andy;

3 andy = 25; ted = &andy; beth = *ted;

4 int * numberPtr; char * characterPtr; float * greatnumberPtr; int * mPtr, * nPtr, *j;

5 int main () { int firstvalue, secondvalue; int * mypointer; mypointer = &firstvalue; *mypointer = 10; mypointer = &secondvalue; *mypointer = 20; cout << "firstvalue is " << firstvalue << endl; cout << "secondvalue is " << secondvalue << endl; return 0; } firstvalue is 10 secondvalue is 20

6 int main (){ int firstvalue = 5, secondvalue = 15; int * p1, * p2; p1 = &firstvalue; //p1 = address of firstvalue p2 = &secondvalue; //p2 = address of secondvalue *p1 = 10; //value pointed by p1 = 10 *p2 = *p1; //value pointed by p2=value pointed by p1 p1 = p2; // p1 = p2 (value of pointer is copied) *p1 = 20; // value pointed by p1 = 20 cout << "firstvalue is " << firstvalue << endl; cout <<"secondvalue is " << secondvalue << endl; return 0;} firstvalue is 10 secondvalue is 20

7 int main () { int numbers[5]; int * p; p = numbers; *p = 10; p++; *p = 20; p = &numbers[2]; *p = 30; p = numbers + 3; *p = 40; p = numbers; *(p+4) = 50; for (int n=0; n<5; n++) cout << numbers[n] << ", "; return 0; } 10, 20, 30, 40, 50,

8  Pointer to specific address: int number; int *tommy = &number;  Pointer to nothing int *tommy = NULL; equivalents to int *tommy = 0;

9  Strings as pointer to characters char * terry = "hello"; The fifth element can be accessed with: *(terry+4) or terry[4]

10  Suppose the following piece of code: char *mychar; short *myshort; long *mylong; mychar++; myshort++; mylong++;  (++) and (--) operators have greater operator precedence than the dereference operator (*).

11 void main () { int a = 50; int *aptr ; aptr = &a; // assume that aptr=0x0018FF44 cout <<"The output of a= "<<a << "\n"; cout <<"The output of *aptr = "<<*aptr << "\n"; cout <<"The output of &a= "<<&a << "\n"; cout <<"The output of &*aptr = "<<&*aptr << "\n"; cout <<"The output of *&aptr = "<<*&aptr << "\n"; }

12

13  Write a C++ program that defines array b with 10 integer elements. Then the program should use pointers to set each element in the array to ZERO.


Download ppt "Pointers. andy = 25; fred = andy; ted = &andy; andy = 25; ted = &andy; beth = *ted;"

Similar presentations


Ads by Google