标题:我定义一个函数,函数的返回值是结构体的地址,来给主函数里的指针数组进行 ...
取消只看楼主
w716169470
Rank: 2
等 级:论坛游民
帖 子:51
专家分:25
注 册:2013-4-18
结帖率:61.54%
已结贴  问题点数:20 回复次数:4 
我定义一个函数,函数的返回值是结构体的地址,来给主函数里的指针数组进行赋值,这个函数应该怎么样定义,求帮助。我这样行不行。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct _STU
{
    char name[20];
    char sex;
    int age;
    int high;
}STU;

STU getstu(void);

int main(int argc , char **argv)
{
    int i = 0;
    STU *stu[50];
    stu[0] = (STU*)malloc(sizeof(STU));

   
    stu[i] = getstu();
    i++;
   
}

int getstu(void)
{
    STU stu;
    printf("name: \n");
    fflush(stdin);
    gets(stu.name);
    printf("sex: \n");
    scanf("%c",&stu.sex);
    printf("age: \n");
    scanf("%d",&stu.age);
    printf("high: \n");
    scanf("%d",&stu.high);

    return &stu;   

}
搜索更多相关主题的帖子: void include 结构体 
2013-04-25 18:54
w716169470
Rank: 2
等 级:论坛游民
帖 子:51
专家分:25
注 册:2013-4-18
得分:0 
回复 2楼 apull
谢谢,但是不可以用地址作为函数的返回值吗?
2013-04-25 19:44
w716169470
Rank: 2
等 级:论坛游民
帖 子:51
专家分:25
注 册:2013-4-18
得分:0 
回复 5楼 peach5460
能不能用具体的代码给我解释一下,有点没太理解。
2013-04-26 10:21
w716169470
Rank: 2
等 级:论坛游民
帖 子:51
专家分:25
注 册:2013-4-18
得分:0 
回复 4楼 apull
#include <stdio.h>
#include <stdlib.h>

typedef struct _STU
{
    int age;
    char sex;
}STU;

STU* getstu(void);

int main(int argc , char **argv)
{
    STU *stu[50];
    stu[0] = (STU*)malloc(sizeof(STU));

    stu[0] = getstu();

    printf("%d",stu[0]->age);

    return EXIT_SUCCESS;
}

STU* getstu(void)
{
    STU *stu;
    printf("age: \n");
    scanf("%d",&stu->age);

    return stu;
}
我这样为什么不行.?
2013-04-26 11:26
w716169470
Rank: 2
等 级:论坛游民
帖 子:51
专家分:25
注 册:2013-4-18
得分:0 
回复 9楼 fanpengpeng
谢谢。
2013-04-27 15:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-405517-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.058455 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved