Pointer Simple Example Program with Reference operator (&) and Dereference operator (*)

Pointer Definition

Pointer is a programming language data type whose value refers directly to (or "points to") another value stored elsewhere in the computer memory using its address.

``````& - Locate the Variable Address

&variable

ponter_variable = &variable; ``````

Declaring Pointer Variables

• * and varibale name
• pointer variable points to a variable of type data_type

Syntax:

``data_type *pt_name; ``

Example:

``````int *p;

float *x; ``````

Initialization Of Pointer Variable:

``pointer_vaibale = &variable; ``

Reference operator ("&")

The reference operator noted by ampersand ("&"), is also a unary operator in c languages that uses for assign address of the variables. It returns the pointer address of the variable. This is called "referencing" operater.

Dereference operator ("*")

The dereference operator or indirection operator, noted by asterisk ("*"), is also a unary operator in c languages that uses for pointer variables. It operates on a pointer variable, and returns l-value equivalent to the value at the pointer address. This is called "dereferencing" the pointer.

1).Normal Variable

``int var; ``

2). Pointer Variable Declaration for Integer Data Type

``int *pt;``

3). now var == 0

``var = 0;``

4). & takes the address of var , Here now pt == &var, so *pt == var

``pt = &var; ``

5). Assign Values using dereference operator

``*pt = 1;  ``

its equivalent to var = 1, since *pt == var, now *pt == 1 and *pt == var, so var == 1

Pointer Simple Example Program for understand Reference operator (&) and Dereference operator (*)

``````/*##Pointer Example Program with Reference operator (&) and Dereference operator (*)*/
/*##Simple Pointer Programs,Reference operator,Dereference operator*/

#include <stdio.h>

int main(){

//Pointer Variable Declaration for Integer Data Type
int* pt;
int var;

var=1;

printf("Value   of var             :%d\n\n",var);

//& takes the address of var , Here now pt == &var, so *pt == var
pt=&var;

printf("Content of Pointer pt     :%d\n\n",*pt);

var=2;

printf("Content of Pointer pt     :%d\n\n",*pt);

//Assign Values using dereference operator
*pt=3;

printf("Value   of var            :%d\n\n",var);

return 0;

}``````

Sample Output:

``````Address of var         :1565276140
Value   of var         :1