954,219 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

New to C++ Pointers and need help with identifying where the errors are

I am stuck on this problem..you are supposed to locate the error in the segment of code:

char var1, ptr1;
var1='X';
ptr1=&var1;

Can someone please help me figure this out. It is much appreciated.

hfick
Newbie Poster
18 posts since Aug 2004
Reputation Points: 10
Solved Threads: 0
 

[QUOTE=hfick]I am stuck on this problem..you are supposed to locate the error in the segment of code:

char var1, ptr1;
var1='X';
ptr1=&var1;

Can someone please help me figure this out. It is much appreciated.
I think their needs to be an * by the ptr1 where the variable is declared but I am really not sure.??

hfick
Newbie Poster
18 posts since Aug 2004
Reputation Points: 10
Solved Threads: 0
 
char var1, *ptr1;  // <--- * goes here
var1='X';
ptr1=&var1;


It's important to remember that you need '*' for each pointer variable. Therefore: char* ptr1, ptr2; doesn't work as intended.
For two ptrs, you must do char *ptr1, *ptr2.


Ed[QUOTE=hfick]I am stuck on this problem..you are supposed to locate the error in the segment of code:

char var1, ptr1;
var1='X';
ptr1=&var1;

Can someone please help me figure this out. It is much appreciated.
I think their needs to be an * by the ptr1 where the variable is declared but I am really not sure.??

cosi
Junior Poster
153 posts since Aug 2004
Reputation Points: 17
Solved Threads: 1
 

Thank you very much

hfick
Newbie Poster
18 posts since Aug 2004
Reputation Points: 10
Solved Threads: 0
 

That is what I thought for the one above...But I am stuck again on this one..could you possibly help again?

char c='A';
char *p;
p=c

* goes here right?? char *c='A';
char *p;
p=c;

hopefully i am getting this..please let me know if this is right

hfick
Newbie Poster
18 posts since Aug 2004
Reputation Points: 10
Solved Threads: 0
 
char c='A';
char *p;
p=&c  // <-- should read a pointer (*) to char named p gets the the address (&) of char c
cosi
Junior Poster
153 posts since Aug 2004
Reputation Points: 17
Solved Threads: 1
 

thank you..you must really get this stuff..must be nice...could you help me some more...

var1's address is 55441
int var1=2323;
int *ptr;
ptr=&var1;

var1=?
ptr=?
*ptr=?

hfick
Newbie Poster
18 posts since Aug 2004
Reputation Points: 10
Solved Threads: 0
 

var1's address is 55441
int var1=2323;
int *ptr;
ptr=&var1;

var1 = 2323
ptr = 55441
*ptr = 2323

shalin
Newbie Poster
15 posts since Jul 2004
Reputation Points: 11
Solved Threads: 0
 

Thank you shalin....THat is what I thought but wasn't for sure...

THis one wants to know what the output produced is when the code is executed:

char var1 = 's';
char var2 = 'x';
char *ptr1, *ptr2;
ptr1=&var1;
ptr2=&var2;
*ptr2=*ptr1;
cout << *ptr1 << " " << var2 << endl;

hfick
Newbie Poster
18 posts since Aug 2004
Reputation Points: 10
Solved Threads: 0
 

Try to understand the concept of pointers rather.It's simple actually.A pointer points to the address in memory of a variable.That way if you change one, the changes can be seen at all places.Multiple pointer can point to a variable.

A var can be tought of as a TV and the pointer a Remote Control.Change the channel anywhere,the result is on the TV.And a TV can have multiple remotes ;)

Look below:

&val means address of the variable var
*p (if is a pointer (int *p; )) means value at address pointed at by p.Changes this will change the variable it points to.

int val = 1;
p=&val;
val+=10

cout<

FireNet
Posting Whiz in Training
258 posts since May 2004
Reputation Points: 108
Solved Threads: 7
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You