Простая программа с указателями

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии вы изучите основы указателей в языке C. Вы научитесь создавать указатели, получать адрес и значение переменной с использованием указателей, а также выводить значения с использованием спецификаторов формата.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/PointersandMemoryGroup(["Pointers and Memory"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/BasicsGroup -.-> c/variables("Variables") c/PointersandMemoryGroup -.-> c/pointers("Pointers") c/PointersandMemoryGroup -.-> c/memory_address("Memory Address") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-123334{{"Простая программа с указателями"}} c/pointers -.-> lab-123334{{"Простая программа с указателями"}} c/memory_address -.-> lab-123334{{"Простая программа с указателями"}} c/output -.-> lab-123334{{"Простая программа с указателями"}} end

Объявление переменной

Начните с объявления целочисленной переменной с именем var и присвойте ей значение 24. Эта переменная будет позже доступна с использованием указателя.

int var = 24;

Объявление указателя

Объявите указательную переменную с именем p, которая указывает на целочисленное значение.

int *p;

Назначение адреса указателю

Присвойте адрес переменной var указателю p с помощью оператора ссылки &.

p = &var;

Вывод адреса переменной

Для вывода адреса переменной var используйте спецификатор формата %x.

printf("\n\nAddress of var variable is: %x \n\n", &var);

Вывод адреса, хранящегося в указателе

Для вывода адреса, хранящегося в указательном переменной p, используйте спецификатор формата %x.

printf("\n\nAddress stored in pointer variable p is: %x", p);

Доступ к значению переменной и вывод значения

Для доступа к значению переменной var с использованием указательной переменной p используйте оператор разыменования *.

printf("\n\nValue of var variable or the value stored at address p is %d ", *p);

Полный код

Напишите полный код в файле main.c в директории ~/project/.

#include <stdio.h>

int main()
{
    int var = 24;   // фактическое объявление переменной
    int *p;

    p = &var;   // сохранение адреса целочисленной переменной var в указатель p

    printf("\n\nAddress of var variable is: %x \n\n", &var);

    // адрес, хранящийся в указательном переменном
    printf("\n\nAddress stored in pointer variable p is: %x", p);

    // доступ к значению с использованием указательной переменной
    printf("\n\nValue of var variable or the value stored at address p is   %d ", *p);

    return 0;
}

Резюме

Указатели в языке программирования C обладают большой мощностью за счет способности к доступу к памяти и ее управлению. Используя указатели, вы можете напрямую получать доступ к переменным и управлять ими по их адресам, что значительно повышает эффективность и гибкость программы. С полученными знаниями из этого лабораторного занятия вы можете теперь приступить к изучению более продвинутых приложений указателей в своих программах.