试图返回结构指针

时间:2017-04-01 02:49:32

标签: c pointers struct

我正在使用 assign()函数为我在结构指针变量l中存储的结构分配内存。
但是当我运行此代码时出现错误:

  

'返回'未在此范围内宣布。

代码

#include<stdio.h>
#include<stdlib.h>
typedef struct list {
        int a;
        char c;
    };

list *assign();
int main() {
   list *l;
   l = assign();
   l->a = 20;
   printf("%d",l->a);


   return 0;
}
list *assign() {
    list *ptr = (list*)malloc(sizeof(list));
    reutrn ptr;
}

2 个答案:

答案 0 :(得分:1)

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

typedef struct {
        int a;
        char c;
    }list;

list *assign();
int main() {
   list *l;
   l = assign();
   l->a = 20;
   printf("%d",l->a);


   return 0;
}
list *assign() {
    list *ptr = (list*)malloc(sizeof(list));
    return ptr;
}

你拼错了回报而你没有为你的结构命名。

答案 1 :(得分:1)

你在代码中写了'reutrn'而不​​是'return'。检查你的最后几行。