Указатели или что тут происходит? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Чем больше я пытаюсь разобраться, тем больше путаюсь. Пожалуйста, построчно объясните что тут происходит начиная с typedef
struct listNode { /* структура со ссылкой на себя */
char data;
struct listNode *nextPtr;
};
 
typedef struct listNode LISTNODE;
typedef LISTNODE *LISTNODEPTR;
 
void insert (LISTNODEPTR *, char);
char dele(LISTNODEPTR *, char);
int isEmpty(LISTNODEPTR);
void printList(LISTNODEPTR);
void instructions(void);

Решение задачи: «Указатели или что тут происходит?»

textual
Листинг программы
struct listNode { /* структура listNode  */
char data; //данные
struct listNode *nextPtr; // указатель на структуру типа listNode 
};
 
typedef struct listNode LISTNODE; /* создаем новый тип данных 
                                                   т.е. чтобы не писать каждый раз 
                                                   struct listNode test; 
                                                   а чтобы написать 
                                                   LISTNODE test; 
                                               */
typedef LISTNODE *LISTNODEPTR; /*
                                                  аналогично чтобы не писать 
                                                  LISTNODE * ptr;
                                                  чтобы просто 
                                                  LISTNODEPTR ptr; 
                                                  как по мне - довольно неудобное решение.
                                                  */
 // прототипы функций
void insert (LISTNODEPTR *, char); 
char dele(LISTNODEPTR *, char);
int isEmpty(LISTNODEPTR);
void printList(LISTNODEPTR);
void instructions(void);

Объяснение кода листинга программы

  1. Структура listNode объявляет данные и указатель на следующую структуру listNode в списке.
  2. Тип данных LISTNODE создается с помощью typedef для упрощения работы со структурой.
  3. Тип данных LISTNODEPTR также создается с помощью typedef для упрощения работы с указателями на структуру.
  4. Функция insert добавляет новый элемент в список.
  5. Функция dele удаляет элемент из списка.
  6. Функция isEmpty проверяет, пуст ли список.
  7. Функция printList выводит содержимое списка.
  8. Функция instructions выводит инструкции для пользователя.
  9. Код, в котором эти функции используются, не представлен.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.692 из 5
Похожие ответы