In today’s video tutorial lets learn basics of pointers in C programming language. Think of it as base of a building. If you can hold these basic concepts strong your building will be safer.
Page Contents
1. What are pointers?
2. How to declare pointers.
3. How to access the value present at the address stored in pointer variable.
4. Using Address of operator.
5. Using Indirection operator.
A pointer is a variable which refers to or points to an address in your computers memory.
Definition: A pointer variable is a variable which holds the address of another variable.
And since pointer variable is also a variable, it also has a unique address associated with it.
& is called “address of” operator.
* is called Indirection or “value at address” operator.
#include<stdio.h> int main() { int num = 5; int *ptr; // pointer variable ptr = # // both hold address of num printf("Value of num = %d\n", num); printf("Address of num = %d\n", &num); printf("Address of ptr = %d\n", &ptr); printf("Value of ptr = %d\n", ptr); printf("Access value of num from ptr = %d\n", *ptr); printf("Access value of num from num = %d\n", *(&num)); return 0; }
Output:
Value of num = 5
Address of num = 6356732
Address of ptr = 6356728
Value of ptr = 6356732
Access value of num from ptr = 5
Access value of num from num = 5
Note: Whenever you declare and initialize a variable, for example, int num = 5; Your program does the following tasks:
1. Reserves space in your computers memory depending upon the data type.
2. Associates the name num with this memory location.
3. Stores the number 5 in this memory location.
General Syntax
data_type* pointer_variable_name;
OR
data_type *pointer_variable_name;
Example:
int *ptr1; int* ptr2;
Both these declaration are valid.
Rules for constructing pointer variable are same as that of regular variables: Rules for Constructing Variable Names: C
General Syntax
pointer_variable_name = &another_variable;
Example:
ptr = #
This stores the address of variable num as value of pointer variable ptr.
Example:
int num = 5; int *ptr; // Declaration of pointer variable ptr = # // Assigning value to pointer variable
Note: While assigning address to pointer variable do not include * in front of pointer variable.
num will have 5.
&num will have address of num.
&ptr will have address of ptr.
ptr will have address of num.
*ptr will have value of num.
Call by Value Example: C Program To Swap Two Numbers using Function
Call by Reference Example: C Program To Swap Two Numbers using Pointers
Note: Address can’t be negative values. So we can use %u as format specifier, which means unsigned integer.
For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List
For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert