POINTERS IN C-LANGUAGE

POINTERS IN C

•Every variable is a memory location and every memory location has its address defined which can be accessed using ampersand (&) operator, which denotes an address in memory.

•A pointer is a variable whose…


This content originally appeared on DEV Community and was authored by Yarakaraju Jahnavi

                       POINTERS IN C

•Every variable is a memory location and every memory location has its address defined which can be accessed using ampersand (&) operator, which denotes an address in memory.

•A pointer is a variable whose value is the address of another variable, i.e., direct address of the memory location. Like any variable or constant, you must declare a pointer before using it to store any variable address.

•The general form of a pointer variable declaration is:
type *var-name;

Here,
-- type is the pointer's base type (it must be a valid C
datatype).
-- var-name is the name of the pointer variable.
-- * used to declare a pointer.

•Some of the valid pointer declarations are as follows −
int ip; / pointer to an integer /
double *dp; /
pointer to a double /
float *fp; /
pointer to a float /
char *ch /
pointer to a character */

•The actual data type of the value of all pointers, whether integer, float, character, or otherwise, is the same, a long hexadecimal number that represents a memory address. The only difference between pointers of different data types is the data type of the variable or constant that the pointer points to.

USAGE OF POINTERS:

(a) We define a pointer variable.
(b) Assign the address of a variable to a pointer.
(c) Finally access the value at the address available in the pointer variable.
•This is done by using unary operator * that returns the value of the variable located at the address specified by its operand.
•Example:
#include
int main ()
{
int var = 20; /* actual variable declaration /
int *ip; /
pointer variable declaration /
ip = &var; /
store address of var in pointer variable*/
printf("Address of var variable: %x\n", &var );
/* address stored in pointer variable /
printf("Address stored in ip variable: %x\n", ip );
/
access the value using the pointer */
printf("Value of *ip variable: %d\n", *ip );
return 0;
}

•When the above code is compiled and executed, it produces the following result −
-- Address of var variable: bffd8b3c
-- Address stored in ip variable: bffd8b3c
-- Value of *ip variable: 20

NULL POINTERS

•It is always a good practice to assign a NULL value to a pointer variable in case you do not have an exact address to be assigned. This is done at the time of variable declaration. A pointer that is assigned NULL is called a null pointer.

•The NULL pointer is a constant with a value of zero defined in several standard libraries. Consider the following program −

•EXAMPLE
#include
int main ()
{
int *ptr = NULL;
printf("The value of ptr is : %x\n", ptr );
return 0;
}

•When the above code is compiled and executed, it produces the following result −

--The value of ptr is 0

--In most of the operating systems, programs are not permitted
to access memory at address 0 because that memory is reserved
by the operating system.
--However, the memory address 0 has special significance; it
signals that the pointer is not intended to point to an
accessible memory location. But by convention, if a pointer
contains the null (zero) value, it is assumed to point to
nothing.
--To check for a null pointer, you can use an 'if' statement as
follows −

    if(ptr)     /* succeeds if p is not null */
    if(!ptr)    /* succeeds if p is null */


This content originally appeared on DEV Community and was authored by Yarakaraju Jahnavi


Print Share Comment Cite Upload Translate Updates
APA

Yarakaraju Jahnavi | Sciencx (2021-05-11T14:02:29+00:00) POINTERS IN C-LANGUAGE. Retrieved from https://www.scien.cx/2021/05/11/pointers-in-c-language/

MLA
" » POINTERS IN C-LANGUAGE." Yarakaraju Jahnavi | Sciencx - Tuesday May 11, 2021, https://www.scien.cx/2021/05/11/pointers-in-c-language/
HARVARD
Yarakaraju Jahnavi | Sciencx Tuesday May 11, 2021 » POINTERS IN C-LANGUAGE., viewed ,<https://www.scien.cx/2021/05/11/pointers-in-c-language/>
VANCOUVER
Yarakaraju Jahnavi | Sciencx - » POINTERS IN C-LANGUAGE. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2021/05/11/pointers-in-c-language/
CHICAGO
" » POINTERS IN C-LANGUAGE." Yarakaraju Jahnavi | Sciencx - Accessed . https://www.scien.cx/2021/05/11/pointers-in-c-language/
IEEE
" » POINTERS IN C-LANGUAGE." Yarakaraju Jahnavi | Sciencx [Online]. Available: https://www.scien.cx/2021/05/11/pointers-in-c-language/. [Accessed: ]
rf:citation
» POINTERS IN C-LANGUAGE | Yarakaraju Jahnavi | Sciencx | https://www.scien.cx/2021/05/11/pointers-in-c-language/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.