Локальные переменные и изменение значений из метода - C (СИ)

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

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

Всем привет, никак не могу проникнутся духом Си. Пытаюсь написать "связной" список. Есть метод
int pop(linkedList * liste) {
    linkedList *element;
    element = liste->nextElement;
    int value = liste->value;
 
    free(liste);
    liste = element;
    return value;
}
Который берет указатель на лист (первый элемент). Сохранятся указатель на следующий элемент, а указатель на первый удаляется с помощью free(). Ну и наконец, второй элемент встает на место первого, но как только выходим из метода, указатель указывает в некуда.

Решение задачи: «Локальные переменные и изменение значений из метода»

textual
Листинг программы
void /* or whatever */ func1(something_t s); /* передача структуры по значению */
void func2(something_t * p); /* передача указателя на структуру */
void func3(something_t ** pp); /* передача указателя на указатель на структуру */

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

  1. В коде определены три функции: func1, func2, func3.
  2. Функция func1 принимает в качестве аргумента структуру something_t s.
  3. Функция func2 принимает в качестве аргумента указатель на структуру something_t p.
  4. Функция func3 принимает в качестве аргумента указатель на указатель на структуру something_t pp.
  5. В функции func1 происходит изменение значения переменной s.
  6. В функции func2 происходит изменение значения переменной p.
  7. В функции func3 происходит изменение значения переменной pp.

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


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

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

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