What is the difference between Array of pointer and Pointer to Array?

28 Dec 2022 Balmiki Mandal 0 C Programming

Understanding the Differences Between Array of Pointers and Pointer to Array

The main difference between an array of pointers and a pointer to an array is that an array of pointers stores the addresses of individual elements of an array, while a pointer to an array stores the address of the entire array.

Array of pointers

An array of pointers is an array that consists of variables of pointer type. Each element of the array stores the address of an object. For example, the following code declares an array of pointers to integers:

C- Programming
int *ptrArray[10];

This array can store the addresses of 10 integers.

 

Pointer to an array

A pointer to an array is a pointer that points to the first element of an array. For example, the following code declares a pointer to an array of integers:

C-Programming
int *ptrArray = arr;
This pointer points to the first element of the array arr.

 

Comparison Between Array of Pointers and Pointer to Array

Here is a table summarizing the key differences between an array of pointers and a pointer to an array:

Feature Array of pointers Pointer to an array
Stores Addresses of individual array elements Address of the entire array
Size Depends on the number of elements in the array Same as the size of the array
Accessing elements Use the dereference operator (*) to access the elements of the array Use the array index operator [] to access the elements of the array
Memory allocation Dynamically allocated Statically allocated
 

Usage of Array of Pointers and Pointer to Array

An array of pointers is typically used when you need to store the addresses of multiple objects. For example, you could use an array of pointers to store the addresses of all the files in a directory.

A pointer to an array is typically used when you need to pass an entire array to a function. For example, you could use a pointer to an array to pass an array of numbers to a function that calculates their sum.

Which one to use?

The best way to decide which one to use is to consider your specific needs. If you need to store the addresses of multiple objects, then an array of pointers is a good choice. If you need to pass an entire array to a function, then a pointer to an array is a good choice.

Further Reading:


What is Array of pointer? Give one example.

Array of Pointer in c programming language

How to Create An Array Of Pointers in C – A Step-by-Step Guide

What is the difference between Array of pointer and Pointer to Array?

array of pointers, string functions, data manipulation, efficient algorithms

Dynamically Allocating Memory for an Array of Pointers

Virtual Shorting Using an array of Pointer

Write a C function that takes an array of pointers to strings and sorts them in lexicographic (dictionary) order.

 Assignment of Array of Pointers in C

Enroll Now:

C-Programming From Scratch to Advanced 2023-2024] "Start Supercharging Your Productivity!"

Contact Us:

  • For any inquiries, please email us at [[email protected]].
  • Follow us on insta  [ electro4u_offical_ ] for updates and tips.

Note: If you encounter any issues or specific errors when running this program, please let me know and I'll be happy to help debug them!

BY: Balmiki Mandal

Related Blogs

Post Comments.

Login to Post a Comment

No comments yet, Be the first to comment.