•
•
•
•
What is DaniWeb IT Discussion Community?
You're currently browsing the C++ section within the Software Development category of DaniWeb, a massive community of 455,974 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 3,766 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our C++ advertiser: Programming Forums
Views: 2436 | Replies: 9
![]() |
•
•
Join Date: Aug 2004
Location: Minnesota
Posts: 18
Reputation:
Rep Power: 5
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.??
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.??
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]
•
•
•
•
Originally Posted by 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.??
•
•
•
•
In a world without walls or fences,
What use are Windows and Gates.
char c='A'; char *p; p=&c // <-- should read a pointer (*) to char named p gets the the address (&) of char c
•
•
•
•
In a world without walls or fences,
What use are Windows and Gates.
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<<val<<" *p="<<*p; //output is the same for both
(*p) += 4; //changes the value of val
cout<<val<<" *p="<<*p; //output is the same for both
The outputs are:
11 11
15 15
*(p++) increses the address to which it points to by the pointers datatype size.
*(p)++ increses the val at the address pointed by p by 1.
Understand the pointer concept
?
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<<val<<" *p="<<*p; //output is the same for both
(*p) += 4; //changes the value of val
cout<<val<<" *p="<<*p; //output is the same for both
The outputs are:
11 11
15 15
*(p++) increses the address to which it points to by the pointers datatype size.
*(p)++ increses the val at the address pointed by p by 1.
Understand the pointer concept
? ![]() |
•
•
•
•
•
•
•
•
DaniWeb C++ Marketplace
•
•
•
•
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
- Previous Thread: *Pointer program problem.
- Next Thread: Major problem with C++ compiler


Linear Mode