如何修复我的代码以从函数返回指向结构的指针

法国证券交易所

我现在正在学习指针和结构,我有点困惑。特别是,我想制作一个返回指向结构的指针的函数。我的代码正在编译,但是没有用。输入学生数后,会要求输入姓名和年龄(无阅读名称),输入年龄后,它将关闭。

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

struct details
{
    char name[100];
    int age;
};

struct details * details_pointer(int n)
{
    struct details pointer_x[n];
    struct details *pointer = pointer_x;
    for (int i=0; i<n; i++)
    {
        printf("Student %d:\n", i);
        printf("name:\n");
        fgets(pointer[i].name, 100, stdin);
        printf("age:\n");
        scanf("%d", pointer[i]. age);
    }
    return pointer;
}

int main()
{
    int n;
    printf("Type the number of persons:\n");
    scanf("%d", &n);
    struct details *student = details_pointer(n);
    printf("\nName: %s\n", (*student).name);
    printf("Age: %d\n", (*student).age);
    system("pause");
    return 0;
}
史蒂夫·弗里德尔

好的,如果分配需要动态分配,那么这就是我们要做的。

仅指定一个数组即可在函数运行时隐式分配空间,但在函数返回时它将消失。您需要专门分配它。

重新检查您的代码:

struct details *details_pointer(int n)
{
    struct details *students = (struct details *)malloc(n * sizeof(struct details));

    .... do stuff with students[0] and the like

    return students;
}

它使用malloc()-内存分配-库函数为您提供一些空间,并且在您释放它之前一直保持有效。字节数是您想要的东西数n一件事中的字节数sizeof(struct details)

后来:

int main()
{
    struct details *student = details_pointer(n);
    .. do stuff

    free(student);
}

现在,它将使用该内存,并在完成后将其释放回操作系统。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从函数返回指向结构的指针?

来自分类Dev

我该如何编写在模板类中声明的函数定义,以返回指向结构对象的指针?

来自分类Dev

C函数返回指向结构的指针

来自分类Dev

c ++从函数返回指向结构的指针

来自分类Dev

如何从函数返回指向数组的指针?

来自分类Dev

C#Marhsal函数返回指向结构数组的指针

来自分类Dev

动态分配的指向不从 C 函数返回的结构的指针

来自分类Dev

返回指向结构体的指针数组的指针

来自分类Dev

如何修改指向void函数内部结构的指针

来自分类Dev

如何将指向结构的指针传递给构造函数?

来自分类Dev

从函数返回结构的指针

来自分类Dev

指向函数的指针,返回函数指针

来自分类Dev

指向函数的指针,返回函数指针

来自分类Dev

指向结构的函数的指针,指向typedef的函数的指针

来自分类Dev

指向函数的函数指针,返回指向所述函数类型的指针

来自分类Dev

如何加快在C ++中返回指向对象的指针的函数?

来自分类Dev

如何从静态函数返回指向const的指针?

来自分类Dev

如何P /调用分配并返回指向新数组的指针的函数

来自分类Dev

C ++:如何返回指向非静态成员函数的指针?

来自分类Dev

如何添加指向函数和返回值的指针?

来自分类Dev

在C中返回指向结构的指针

来自分类Dev

设置一个指向结构的指针等于一个函数返回的另一个结构的指针?

来自分类Dev

指向函数中的结构数组的指针

来自分类Dev

指向函数中的结构数组的指针

来自分类Dev

C ++在函数中使用指向结构的指针

来自分类Dev

成员函数返回指向成员函数的指针

来自分类Dev

C:指向返回枚举的函数的函数指针

来自分类Dev

当我返回指向结构的指针向量时出现段错误

来自分类Dev

指向一个指向文件指针的函数的结构?

Related 相关文章

  1. 1

    如何从函数返回指向结构的指针?

  2. 2

    我该如何编写在模板类中声明的函数定义,以返回指向结构对象的指针?

  3. 3

    C函数返回指向结构的指针

  4. 4

    c ++从函数返回指向结构的指针

  5. 5

    如何从函数返回指向数组的指针?

  6. 6

    C#Marhsal函数返回指向结构数组的指针

  7. 7

    动态分配的指向不从 C 函数返回的结构的指针

  8. 8

    返回指向结构体的指针数组的指针

  9. 9

    如何修改指向void函数内部结构的指针

  10. 10

    如何将指向结构的指针传递给构造函数?

  11. 11

    从函数返回结构的指针

  12. 12

    指向函数的指针,返回函数指针

  13. 13

    指向函数的指针,返回函数指针

  14. 14

    指向结构的函数的指针,指向typedef的函数的指针

  15. 15

    指向函数的函数指针,返回指向所述函数类型的指针

  16. 16

    如何加快在C ++中返回指向对象的指针的函数?

  17. 17

    如何从静态函数返回指向const的指针?

  18. 18

    如何P /调用分配并返回指向新数组的指针的函数

  19. 19

    C ++:如何返回指向非静态成员函数的指针?

  20. 20

    如何添加指向函数和返回值的指针?

  21. 21

    在C中返回指向结构的指针

  22. 22

    设置一个指向结构的指针等于一个函数返回的另一个结构的指针?

  23. 23

    指向函数中的结构数组的指针

  24. 24

    指向函数中的结构数组的指针

  25. 25

    C ++在函数中使用指向结构的指针

  26. 26

    成员函数返回指向成员函数的指针

  27. 27

    C:指向返回枚举的函数的函数指针

  28. 28

    当我返回指向结构的指针向量时出现段错误

  29. 29

    指向一个指向文件指针的函数的结构?

热门标签

归档