怎么样用C语言添加结构体信息高手请进~~~~~``

怎么样用C语言添加结构体信息高手请进~~~~~``,第1张

struct student{

char name

int number

struct student *next

}

这样你定义了三个字段,姓名,number

我不知道你为什么这么定义,如果是我可能这么定义

struct student {

char name/*学生姓名*/

int 性别/*1代表femail (女性), 0 代表mail(男性)*/

int age

struct student *next/*为了用链表实现而采用*/

};

这样完全可以实现你需要的数据类型.只需要再加上一些算法就可以了.

如果还有什么问题可以与我联系.

一般工业上都会使用 typedef 来定义公司内部的统一定义如

typedef struct student {

}

#include <stdio.h>

struct date {

int year

int month

int day

}

struct student{

int id

char name[10]

char sex[10]

struct date birthday

}

int main() {

int i

struct student stu[5]

for(i=0 i<5 i++){

printf("输入第%d个学生学号,姓名,性别,生日\n", i + 1)

scanf("%d %s %s %d %d %d", &stu[i].id, stu[i].name, stu[i].sex, 

&stu[i].birthday.year, &stu[i].birthday.month, &stu[i].birthday.day)

}

printf("输出第3个学生的信息:\n")

printf("%d, %s, %s, %d, %d, %d",  stu[3].id, stu[3].name, stu[3].sex, 

stu[3].birthday.year, stu[3].birthday.month, stu[3].birthday.day)

return 0

}

这个是个简单的实现,不知道对你有没有帮助。

你的input函数有问题,input函数里面定义的st变量为局部变量,函数返回后,自动释放了。所以你需要在堆栈上分配数据空间。示例代码如下:

#include "stdio.h"

#define MAX_ACCOUNT 100 //假定可以添加100个用户 typede struct peo

{

    int number

    char name[20]

    int score

}PEO     

PEO s[MAX_ACCOUNT] PEO* input(int num)

{

    PEO* st = (PEO*)malloc(sizeof(PEO))

    st->number = num

     

    printf("请输入姓名:\r\n")

    scanf("%s", st->name)

    printf("请输入积分:\r\n")

    scanf("%d", &(st->score))      

    return st

}

int main()

{

    for(int i=0 i<MAX_ACCOUNT i++)

    {

        s[i] = *(input(i))

    }

    

    return 0      

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11876204.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存