Why do we need pointer? What is the real use of it in real life? I do not get why we need to use pointer while we can just refer to the variable itself? | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
+ 2

Why do we need pointer? What is the real use of it in real life? I do not get why we need to use pointer while we can just refer to the variable itself?

12th Jun 2016, 6:04 PM
Moona Arita
Moona Arita - avatar
8 Answers
+ 1
Just think of it this way: passing an object that represents a complex class as a function parameter will create a copy of that class in memory (time consuming and memory inefficient), passing a reference to that class actually passes a pointer to the memory occupied by that object (time and memory efficient). If I'm wrong, please tell me.
12th Jun 2016, 6:44 PM
Andrei Timofte
Andrei Timofte - avatar
+ 1
@Andrei Timofte Yes you are absolutely right But if the person is asking for whether he/she should use pointers or variables then his/her basic knowledge is not clear about pointers and variables. That is he/she should know about Sataic and Dynamic memory allocation which will eventually lead to the answer he/she seeks :) @Andrei Timofte no hard feelings✌ .... your example is great and i liked it. I wonder why i didn't explained it that way😃
12th Jun 2016, 6:58 PM
Satan 666
Satan 666 - avatar
+ 1
Think about pointers as hyperlinks. What are the benefits of the hyperlink? If you acces a hyperlink, you will get the latest version of a Web page, even if it has changed. The same with pointers. When you pass argument to a function that function takes copy of the variables you use. For example: void add(int a) { a+=3; } int main() { int b=1; add(b); cout<<b; } This program will show 1 because the function make a copy of b and add 3 to that copy. But if you use pointers, even if your variable changes, you'll get the latest values, just like a hyperlink. That's the main difference. I hope I helped you! :)
13th Jun 2016, 6:04 AM
Andrei Cîrpici
Andrei Cîrpici - avatar
+ 1
We use pointers to hold addresses because it is some times impossible to impliment the expression for example swapping of numbers using functions.. So we use pointers for perform on addresses
13th Jun 2016, 1:57 PM
Mirza Azeem Baig
Mirza Azeem Baig - avatar
0
First you need to understand two things: Static memory allocation and Dynamic memory allocation Well i cant explain everything here . Just look up Google for Static and Dynamic memory allocation difference ... you'll know what is the need of a pointer and when will you use a variable Also Variables are for Arrays Pointers are for Linked Lists ( ^ This is the basic difference ^ ) Look up the difference .. all the best :)
12th Jun 2016, 6:16 PM
Satan 666
Satan 666 - avatar
0
so as an analogy, a pointer would like creating a shortcut on your desktop for your music collection instead of copying the entire folder to the desktop?
12th Jun 2016, 11:17 PM
Franky Baby
0
Andrei Cirpici.....I got your explanation but I didn't understand that program. I think it will display 4 as the value of "b" changes. I've been told that pointers are like shortcuts but they got nothing to do with latest values. Please correct me if I'm wrong.
13th Jun 2016, 6:41 AM
Vamshi Krishna
Vamshi Krishna - avatar
0
another reason is that it's just harder to identify a pointer in Cheat engine and this makes the game/app more secure
15th Jun 2016, 11:49 AM
Alex Ban
Alex Ban - avatar