- 109 Views
- Uploaded on
- Presentation posted in: General

LAB#3

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

LAB#3

Pointers

andy = 25;

fred = andy;

ted = &andy;

andy = 25;

ted = &andy;

beth = *ted;

int * numberPtr;

char * characterPtr;

float * greatnumberPtr;

int * mPtr, * nPtr, *j;

int main ()

{

intfirstvalue, 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

int main (){

intfirstvalue = 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

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,

- Pointer to specific address:
int number;

int *tommy = &number;

- Pointer to nothing
int *tommy = NULL;

equivalents to

int *tommy = 0;

- Strings as pointer to characters
char * terry = "hello";

The fifth element can be accessed with:

*(terry+4) or terry[4]

- 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 (*).

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";

}

- 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.