C programming - Pointers
In C programming, a pointer is a variable that stores the memory address of another variable. Pointers are useful for a variety of programming tasks, such as dynamically allocating memory, passing arguments to functions by reference, and implementing data structures like linked lists and trees.
To declare a pointer variable in C, you use the *
symbol. For example, the following code declares a pointer variable named ptr
that can point to an integer:
int *ptr;
To initialize a pointer variable, you can assign it the address of another variable using the address-of operator &
. For example, the following code initializes the ptr
variable to point to an integer variable named num
:
int num = 10; int *ptr = #
To access the value of the variable that a pointer points to, you use the dereference operator *
. For example, the following code prints the value of the num
variable using the ptr
pointer:
int num = 10; int *ptr = # printf("%d", *ptr);
This code outputs the value 10
, which is the value of the num
variable.
You can also modify the value of the variable that a pointer points to by using the dereference operator *
on the left-hand side of an assignment. For example, the following code modifies the value of the num
variable using the ptr
pointer:
int num = 10; int *ptr = # *ptr = 20; printf("%d", num);
This code outputs the value 20
, which is the new value of the num
variable.
It's important to note that you should always initialize pointers before using them, and you should be careful not to dereference null pointers or pointers that point outside the bounds of an array.