Double Pointer in C

Last Updated :

In C, a double pointer is a variable that stores the address of a pointer. It is also known as a pointer-to-pointer. Double pointers are useful when you need to modify the value of a pointer itself, not just the value it points to.

Declaring Double Pointer in C:
Here is an example of how to declare a double pointer in C:

int **pptr;

In the above example, pptr is a double pointer to an integer type. It can store the address of a pointer to an integer.

To access the value that the double pointer is pointing to, you need to dereference it twice. Here’s an example:

int *ptr;
int a = 10;

ptr = &a;  // pointer to the variable a
pptr = &ptr;  // double pointer to the pointer ptr

// Accessing the value of variable a using the double pointer
printf("%d", **pptr);  // Output: 10

In the above example, ptr is a pointer to the variable a, and pptr is a double pointer to the pointer ptr. To access the value of a using pptr, we need to dereference pptr twice using the ** operator.

Double pointers are commonly used in data structures like linked lists and trees, where you need to modify the pointers that link the nodes. They can also be used to create dynamic two-dimensional arrays.

Please write comments below if you find anything incorrect, or you want to share more information about the topic discussed above. A gentle request to share this topic on your social media profile.

Comment
Next Article
Mithlesh Upadhyay Published 18 Feb, 2023 · 2 min read

Mithlesh Upadhyay is a Computer Science and AI expert from Madhya Pradesh with strong academic background (BE in CSE and M.Tech in AI) and over six years of experience in technical content development. He has contributed tech articles, led teams, and worked in Full Stack Development and Data Science. He founded the w3colleges.org portal for learning resources.

Article Tags :

Similar Reads

  • What should we use void main() or int main() ?

    There is question that what should we use void main() or int main() ? void main() { /* ... */ } Or, int main() { /* ... */…

    2 min read
  • C Comments

    Prerequisite – C Language Introduction C comments explain code and improve readability. These do not affect program execution. You can use comments in C to clarify code and describe…

    1 min read
  • C Programming Language Standard

    Prerequisite – C Language Introduction The C programming language has various versions: C89/C90, C99, C11, and C18. C89/C90: Released in 1989/1990. It introduced key language features. C99: This…

    2 min read
  • Features of C Programming Language

    Prerequisite – C Language Introduction C is a simple language made in 1972 by Dennis Ritchie. It’s for system programming. C has low-level memory access, basic keywords, good…

    1 min read
  • C Language Introduction

    C is a programming language developed by Dennis Ritchie in 1972. It has a significant historical impact. It was originally created at Bell Laboratories of AT&T Labs for…

    4 min read
  • Code editors

    Code editors are where programmers spend most of their time. There are two main types of code editors: IDEs and Lightweight editors. IDEs (Integrated Development Environments) IDEs (Integrated…

    1 min read