The most excruciating pain is delivered when we finally work with POINTERS. Learning POINTER brings us closer to the point where Dennis Ritchie directly/indirectly gave rise to OOP referencing method knowingly/unknowingly.
Let’s understand the trickiest and the most important concept of C Programming. à
à Pointers ß
Definition:-- Pointer is a special data type which is derived from basic data
· It is called a derived data type.
· It takes the values from 0 to 65535 on 64K RAM.
· It’s associated with the following three concepts as shown below.
· Pointer stores memory address of other variables i:e a reference
1. Pointer Constants
· The memory addresses are known as Pointer Constants.
· These cannot be changed but can only be used to store data values.
2. Pointer Values
· Memory addresses assigned to variables by the system are called Pointer Values.
3. Pointers Variables
· A variable that holds address of another variable is known as Pointer Variable.
In order to understand the above 3 important concepts related to pointers. Let’s see the syntax and how to use pointers.
à Syntax ß
Declaration and Definition:
Note: The position of * between type and identifier is immaterial.
Eg:- int *p
Int * p
int * p
All the declarations are just alike…
à Accessing Variables through Pointers ß
These are the steps to be followed to access a variable through Pointers.
Logical Representation in Memory will be :à
à Advantages and Disadvantages ß
· Pointers provide direct access to memory
· Pointers provide a way to return more than one value to the functions
· Reduces the storage space and complexity of the program
· Reduces the execution time of the program
· Uninitialized pointers might cause segmentation fault.
· Dynamically allocated block needs to be freed explicitly. When not freed causes memory leak.
· Pointers are slower than normal variables.
· Hard to debug.
· Pointers allows us to perform dynamic memory allocation and deallocation.
· Pointers helps us to build complex data structures like linked list, stack, queues, trees, graphs etc.
· Helps in Call By Reference method of calling in C.
Will be posting more ……….
Keep Smiling and don't forget to contact me for further assistance. Your Friendly Coder. SPrince