Списки. Ошибка "недопустимый неполный тип" - C (СИ)

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

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

В 30-й строке ругается на второй Zv Цель программы. Используя динамическую структуру список, подсчитать сумму отрицательных чисел в списке.
#define _CRT_SECURE_NO_WARNINGS
 
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <locale.h>
#include <cstdio>
#include <Windows.h>
 
typedef struct  zv
{
    int mas;
    struct zv * next; // ссылка на следующий элемент списка
} Zv;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    Zv * P; // первый элемент списка
    Zv * t; //последний элемент списка
    int sym;
    int k = 0;
    printf("Ведите строку целых чисел, закончив её нулём\n");
    P = NULL;
    do
    {
        scanf("%d", &sym);
 
        t = (struct Zv *)malloc(sizeof(Zv));
        t->next = P; P = t;
        t->mas = sym;
    } while (sym != 0);
 
    t = P;
    while (t != 0)
    {
        if (t->mas % 2 == 0)
        {
            k++;
        }
 
        t = t->next;
    }
    printf("Количество чисел: %d", k);
    system("pause");
    return 0;
 
}

Решение задачи: «Списки. Ошибка "недопустимый неполный тип"»

textual
Листинг программы
t = (Zv*)malloc(sizeof(Zv)); // без struct

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

  1. В коде выделяется память под переменную типа Zv с помощью функции malloc.
  2. Переменная t будет содержать указатель на выделенную память.
  3. В данном случае, структура Zv не объявлена, что может вызывать ошибку компиляции.
  4. Если структура Zv была объявлена до этого фрагмента кода, то ошибка недопустимый неполный тип может указывать на неправильное заполнение поля структуры.
  5. Если структура Zv не была объявлена, то ошибка недопустимый неполный тип указывает на то, что компилятор не может определить размер структуры Zv, так как она не полностью определена.
  6. Возможно, в коде пропущено объявление структуры Zv или ее полей.
  7. Возможно, в коде присутствует ошибка синтаксиса или другая ошибка, которая мешает компиляции.

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


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

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

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