2015-01-12 2 views
0

Я пытаюсь скомпилировать этот код, но я получаю ошибку памяти: list1.c: 25: 15: ошибка: размер хранилища 'cnodo' не известен struct nobo cnodo;Ошибка памяти в списке структур (storage uknown)

так может кто-нибудь сказать мне, что является источником этой ошибки и как ее избежать?

#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 

struct nodo { 
    int info; 
    struct nodo *prec; 
    struct nodo *succ; 
    } ; 
typedef struct nodo nodo; 




void stampa (struct nodo *p); 


int main (void) { 

    struct nodo *p; 


    struct nodo anodo; 
    struct nodo bnodo; 
    struct nobo cnodo; 

    anodo.info = 99; 
    anodo.prec = NULL; 
    anodo.succ = NULL; 



    bnodo.info = 1010; 
    bnodo.prec = NULL; 
    bnodo.succ = NULL; 


    cnodo.info = 1020; 
    cnodo.prec = NULL; 
    cnodo.succ = NULL; 

    anodo.succ = &bnodo;  
    bnodo.prec = &anodo; 
    bnodo.succ = &cnodo;  
    cnodo.prec = &bnodo; 

    p = &anodo; 

    stampa(p); 


    return 0; 

    } 


void stampa (struct nodo *p) { 

    while (p != NULL) { 

     printf("\n nodo value is : %d \n ", p -> info); 
     p = p -> succ; 

     } 
    } 
+1

Прежде всего попытаться проверить вашу программу построчно, а затем разместить его здесь. У вас есть только типографская ошибка в вашем коде, которую вы можете решить, просто проверив строку за строкой. – arahan567

ответ

1

Потому что

struct nodo cnodo; 

не

struct nobo cnodo; 
    /*^d not b 
1
struct nobo cnodo; 

должен быть

struct nodo cnodo; 

(опечатка)

0

У вас есть опечатка. Изменение

struct nobo cnodo; 

в

struct nodo cnodo; 
Смежные вопросы