Указатель на указатель в C

CBeginner
Практиковаться сейчас

Введение

В программировании на C указатели используются для хранения адресов памяти других переменных. Аналогично, указатель на указатель - это переменная, которая хранит адрес памяти другой переменной-указателя. В этом практическом занятии мы научимся писать на C программу, которая работает с указателями на указатели.

Объявить необходимые переменные

В этом шаге мы объявляем три переменные: var, *ptr и **pptr.

int var;
int *ptr;
int **pptr;

Присвоить значение переменной var

В этом шаге мы присвоим значение переменной var.

var = 50;

Присвоить адрес переменной var указателю ptr

В этом шаге мы присвоим адрес переменной var указателю ptr.

ptr = &var;

Присвоить адрес указателя ptr указателю на указатель pptr

Теперь мы присвоим адрес указателя ptr указателю на указатель pptr.

pptr = &ptr;

Доступ к значению с использованием pptr

Наконец, мы получим доступ к значению var с использованием указателя на указатель pptr.

printf("\nValue of var = %d\n", var);
printf("\nValue available at *ptr = %d\n", *ptr);
printf("\nValue available at **pptr = %d\n", **pptr);

Первое выражение printf выведет значение переменной var.

Второе выражение printf выведет значение, доступное по адресу памяти, хранящемуся в ptr, которое должно быть значением var.

Третье выражение printf выведет значение, доступное по адресу памяти, хранящемуся в pptr, которое должно быть значением ptr, а затем, выполнив двойную разыменование, получим значение var.

Написать полный код в main.c

Теперь, когда мы прошли через различные этапы, мы можем собрать код в функции main файла main.c.

#include <stdio.h>

int main()
{
    int var;
    int *ptr;
    int **pptr;

    var = 50;

    ptr = &var;

    pptr = &ptr;

    printf("Value of var = %d\n", var);
    printf("Value available at *ptr = %d\n", *ptr);
    printf("Value available at **pptr = %d\n", **pptr);

    return 0;
}

Резюме

В этом пошаговом практическом занятии мы научились писать на C программу, которая работает с указателем на указатель. Мы объявили необходимые переменные, присвоили значение переменной, присвоили адрес переменной указателю, присвоили адрес указателя указателю на указатель и, наконец, получили доступ к значению переменной с использованием указателя на указатель. Знание указателя на указатель является важным этапом в изучении C-программирования.