Home » Home » C Pointers And Functions


In C programming, pointers can be used to pass variables as arguments to functions. This allows the function to modify the original variable, rather than creating a copy of it. In this article, we will discuss how pointers and functions can be used together in C programming.

Passing Pointers to Functions:

We utilise the pointer variable name followed by an asterisk () in the function prototype to pass a pointer as an argument. For instance, the declaration void my Function(int ptr); declares a function called “my Function” that accepts an argument of a pointer to an integer. We use the ampersand (&) operator to pass a pointer to the variable as an argument when calling the function. A pointer to “num” is passed as an argument to “my Function” in the following example: int num = 10; my Function(&num);.

Modifying Variables with Pointers:

The value of the original variable can be accessed inside the function by dereferencing the pointer using the asterisk () operator. By way of illustration, the statement void myFunction(int ptr) *ptr = *ptr * 2; multiplies the value of the variable pointed to by “ptr” by 2. The initial variable has changed by the time the function returns.

Returning Pointers from Functions:

Pointers to variables can also be returned by functions. For instance, int* myFunction() declares a function with the name “myFunction” that returns a pointer to an integer and with the parameters “int num = 10; return #”. Pointers to local variables should never be returned, though, as the function’s return may deallocate the memory.

Passing Pointers to Functions with Arrays:

Arrays may also be passed to functions as arguments using pointers. The array name serves as a pointer to the array’s first element when it is passed as an argument. As an illustration, the statement void my Function(int my Array[]) my Array[0] = my Array[0] * 2; multiplies the value of the array’s first entry by 2.


In conclusion, pointers and functions are strong programming tools in C that can be used for effective data management. Complicated algorithms can be made simpler by knowing how to send variables and arrays to functions using pointers.

Related Posts

Leave a Reply