Pointers in C programming Language
Pointers in C programming Language
We will discuss Pointers in C programming language
Pointer variable in C
- The pointer variable is one of the features of C and C++ language
- It is one of the most fundamental and important concepts; similar to an array in C and C++ language, but it is not an array.
- Pointers are variable like other variables in C. They can store pieces of data.
- Normal variables store values such as an int, a double . a char.
- A pointer stores a memory address similar to an array. An array is static and the pointer is dynamic. Dynamically means we can increase or decrease memory allocation to your need.
- So pointer is a special type of variable that contains the address of another variable.
What is a memory unit or address in C?
As we know, a memory unit is a collection of storage cells which can store any type of information.
Each memory cell has a unique value to identify each cell. It’s called address.
If a memory can store n- information, its address ranges from 0 to n-1. That is like an array index.
Find address of memory unit
In the program we will demonsrate how to find address of memory unit in C language
Program
#include <stdio.h> #include <stdlib.h> int main() { int marks=67;//it is declare and initialized a variable as marks printf("Value of marks: %d\n",marks); printf("Address of marks: %u\n",&marks); getch(); return 0; }
Output
Value of marks: 67 Address of marks:2686748
In the above output, marks 67 is a value that is stored in memory location (address) 2686748.
declare and initialize pointers
All pointers variable must be declared before it is used in the program, like other variables in C.
The general form is,
var – it is a variable on your program in C language
&var – it is an address of your variable in the memory location
*var – this is a pointer of your memory location
Declaration of pointer
We can declare a pointer in three methods
Syntax
data_type* var; // Declare a pointer variable called var as pointer of type
data_type *var;
data_type * var;
– data types are meaning, such as int, float, double and more
* (sign) – to identify the variable as a pointer
*ptr – this is a pointer variable
var– this is a normal variable
Here, ptr is a pointer which holds the address of variable var
Example :
int *a; // Declare a pointer variable called as pointing to an int
// it contains an address holds an int value
or
char* a; // Declare a pointer variable called a as pointing to a char
// it contains an address holds a char value
or
double * a; // Declare a pointer variable called a as pointer a double
// it contain an address holds a double value
Program 1
#include <stdio.h> #include <stdlib.h> int main() { int a=24; int b=56; float c=34.65; printf("a value is: %d\n",a);//display value of a printf("b value is: %d\n",b);//display value of b printf("c value is: %.2f\n",c);//display value of c printf(".....................\n"); printf("address of value a is: %u\n",&a); //displays address in memory location of a value printf("address of value b is: %u\n",&b); //displays address in memory location of b value printf("address of value c is: %u\n",&c); //displays address in memory location of c value getch(); return 0; }
Output
a value is: 24 b value is: 56 c value is: 34.65 ...................... address of value a is: 2686748 address of value b is: 2686744 address of value c is: 2686740
Program 2
#include <stdio.h> #include <stdlib.h> int main() { char a='A'; int b=34; float c=43.23; printf("a value is: %c\n",a);//display value of a printf("b value is: %d\n",b);//display value of b printf("c value is: %.2f\n",c);//display value of c printf(".....................\n"); printf("address of value a is: %u\n",&a); //displays address in memory location of a value printf("address of value b is: %u\n",&b); //displays address in memory location of b value printf("address of value c is: %u\n",&c); //displays address in memory location of c value printf(".....................\n"); int *p1;//pointer declaration p1=&a; int *p2=&b; int *p3=&c; printf("\n"); printf("address of a is: %u\n",p1); printf("address of b is: %u\n",p2); printf("address of c is: %u\n",p3); printf(".....................\n"); printf("a value is: %c\n",*p1); printf("b value is: %d\n",*p2); printf("c value is: %.2f\n",*p3); getch(); return 0; }
Output
a value is: A b value is: 34 c value is: 43.23 ............................ address of value a is : 2686739 address of value a is : 2686732 address of value a is : 2686728 ............................ address of a is : 2686739 address of a is : 2686732 address of a is : 2686728 ............................ a value is: A b value is: 34 c value is: 43.23
Similar post
Single dimension Array in C++ language
Two dimension Array in C++ language
Three dimension Array in C++ language
Single dim- Array in Java language
Two dim- Array in Java language
Three dim- Array in Java language
Single dim- Array in C language
Three dim- Array in C language
Suggested for you
Nested for loop in C++ language
Nested while loop in C++ language
1 Comment
Mae Drape January 21, 2020 at 11:26 pm
Perfectly pent content material, Really enjoyed studying.