试图返回结构指针

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了试图返回结构指针相关的知识,希望对你有一定的参考价值。

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

在此范围内未声明'return'。

#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;
}
答案
#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;
}

你错误的返回,你没有给你的结构命名。

另一答案

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

以上是关于试图返回结构指针的主要内容,如果未能解决你的问题,请参考以下文章

片段中的空指针异常

片段中的TextView在Android Studio中返回Null

HashMap深度解析

在tablayout片段之间进行通信[重复]

c#node struct自定义LinkedListNode结构中的循环依赖

节点 ffi napi,调用返回 true 但指针中没有结果