Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Пустые указатели в C:зачем они нужны в вашем опыте кодирования

В языках программирования определенные концепции значительно упрощают кодирование. Например, указатель void определяет конкретный тип данных из входных данных конечного пользователя на языке программирования C. Таким образом, мы переходим к обсуждению указателей void в C.

Как и другие, указатели void имеют соответствующие функции для их гибкости. Но если вы хотите сэкономить время при написании кода, ваша функция указателя перехода — это пустой указатель. Этот указатель позволяет одновременно сохранять и извлекать объекты разных типов. Далее вы узнаете все о методах кодирования с использованием пустых указателей в C.

(Изображение языка программирования)

1. Что такое указатели Void в C?

Как правило, пустые указатели — это указатели без какого-либо связанного типа данных. Другими словами, они подобны пустым контейнерам. Эта функция позволяет им хранить адреса переменной типа неизвестного типа данных.

Функция указателя C void позволяет вам преобразовать их в другие типы данных, упрощая выделение памяти. Впоследствии это позволяет использовать гибкие функции, такие как байты в распределении памяти. Кроме того, указатели void в C помогают выполнять универсальные функции.

(Простая программа «Hello World» на языке программирования C)

https://commons.m.wikimedia.org/wiki/File:C_Hello_World_Program.png

2. Как работает указатель Void в C?

В целом, функция указателя необходима для программирования. По крайней мере, мы видим его важность в управлении адресацией и распределении памяти.

Существует два разных типа указателей; общие указатели и пустые указатели. Однако наше внимание сосредоточено на указателях void и на том, как они работают в C.

Чтобы иметь указатель void в C, вам нужно всего лишь объявить часть информации с ключевым словом «void».

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

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

Однако обратите внимание, что указатели void не поддерживают никаких арифметических операций. Вместо этого мы используем оператор косвенности «*». По этой причине становится необходимым приведение типов при отсутствии связанного типа данных. Таким образом, приведение типов связывает объявленный тип данных с указателем void. В противном случае запуск программы выдаст ошибку компилятора.

Размер void аналогичен указателю символа в C. Размер объекта зависит от платформы указателя.

Этими функциями управления памятью являются malloc() и calloc(). В свою очередь, эти функции помогают выделить память нужного типа данных. В каком-то смысле при выделении памяти используется формат, который позволяет указателю на функцию улучшать другие функции.

(Наглядная иллюстрация того, как работают указатели в C).

https://commons.m.wikimedia.org/wiki/Файл:C_pointer_3.svg

3. Синтаксис пустого указателя

Обычно лучше всего использовать правильный синтаксис для импорта любой функции программирования. Следовательно, синтаксис указателя void в C:

Пусто *имя_указателя;

При этом «void» является ключевым словом типа указателя. Итак, у нас есть имя указателя, на который мы указываем, и даем адресное распределение.

Возьмем пример ниже:

интервал b =6

символ с =‘г’;

Следовательно, в случае, когда мы включаем переменную указателя void, мы имеем:

Пустота *p =&b; // указатель void размещает и удерживает int ‘b’ как адрес целого числа.

Р =&c; // указатель void также содержит адрес char ‘c’.

Идя дальше, давайте выделим несколько примеров синтаксиса:

интервал i=6; // инициализация целочисленной переменной.

интервал *р; // объявление целочисленного указателя.

пустота *ptr; // пустое объявление указателя.

поплавок *fp; // объявление плавающего указателя.

р=fp; // неверный указатель.

птр=р; // действительный указатель.

fp=&i; // неверный указатель.

птр=&я; // действительный указатель.

птр=fp; // действительный указатель.

4. Некоторые примеры указателей Void в C с примерами кода

Двигаясь дальше, мы рассмотрим пример аргументов указателя void в приведенном ниже фрагменте кода:

Пример кода № 1

В первом из наших примеров кода мы показываем, как использовать функцию malloc(), таким образом:

#include

#include

int main()

{

интервал a=90;

int *x =(int*)malloc(sizeof(int));

х=&а;

printf("значение, указанное указателем x:%d",*x);

вернуть 0;

}

Вывод

Пример кода #2

В следующем коде мы показываем концепцию приведения типов.

#include

int main()

{

void *ptr =NULL; //пустая переменная указателя

int *p =NULL;// целочисленная переменная-указатель

char *cp =NULL;//переменная указателя на символ

float *fp =NULL;//переменная указателя с плавающей запятой

//пустой размер указателя

printf("пустой размер указателя =%d\n\n",sizeof(ptr));

//целочисленный размер указателя

printf("целочисленный размер указателя =%d\n\n",sizeof(p));

//размер указателя символа

printf("размер указателя символа =%d\n\n",sizeof(cp));

//размер плавающего указателя

printf("размер указателя с плавающей запятой =%d\n\n",sizeof(fp));

вернуть 0;

}

Вывод

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

https://youtu.be/-503stjWLhc

5. Использование указателя void

Безусловно, указатель void имеет огромное значение в программировании на языке C.

Для лучшего понимания см. пример кода ниже. Некоторые из них включают:

#include

пустой основной()

{

int num=10;//Инициализирует обычную переменную

void *ptr;//Объявляет указатель void

ptr=#//Направляет указатель Ptr на num

printf("Значение целочисленной переменной =%d",*ptr );

<эм>}

Однако выполнение этого кода приводит к ошибке времени компиляции. Если вы используете приведение типов к тому же коду для разыменования указателя, вы получите желаемый результат, таким образом:

#include

пустой основной()

{

int num=10;//Инициализирует обычную переменную

void *ptr;//Объявляет указатель void

ptr=#//Направляет указатель Ptr на num

printf("Целочисленное значение переменной равно %d", *(int*)ptr );// Разыменование с использованием приведения типов

<эм>}

Значение целочисленной переменной равно 10.

Таким образом, путем приведения типов мы можем разыменовывать пустые указатели.

Таким образом, хотя арифметика указателей недействительна с пустыми указателями, приведение типов помогает решить эту проблему. Вывод становится следующим:

(Пустой указатель упрощает кодирование, показывая расположение переменных данных)

Чтобы проиллюстрировать это, см. код ниже:

int main(void)

{

// Обратите внимание, что функция malloc() возвращает значение void *

// Далее, приведение к любому типу данных, например char *, int *,…

int *x =malloc(sizeof(int) * n);

}

Следует отметить, что приведенная выше программа компилируется только на C.

Заключение

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

У вас есть полное руководство по работе с указателями void в c. Однако, если у вас есть вопросы или вам нужны другие ресурсы для программирования, наша контактная страница всегда доступна.


Промышленные технологии

  1. Зачем вам нужен аудит энергии воздуха в вашей системе сжатого воздуха
  2. Что такое ограничители крутящего момента и зачем они нужны
  3. Что такое гидравлические зажимы и зачем они нужны?
  4. 4 причины, по которым вам следует оцифровать промышленную документацию
  5. Почему вам абсолютно необходимо настроить систему Andon?
  6. Плазменная резка:4 причины, по которым вам нужен стол для плазменной резки в вашем магазине сейчас
  7. 10 веских причин, почему вам нужна гидроабразивная резка
  8. Зачем нужен слесарь-механик?
  9. Зачем вам нужен маленький сервопресс?
  10. Зачем вам нужен 5-осевой обрабатывающий центр?