首页 > 代码库 > c 用指针操作结构体数组
c 用指针操作结构体数组
重点:指针自加,指向下一个结构体数组单元
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #define max 10 5 #define min 3 6 7 typedef struct Stu{ 8 char * name; 9 int age;10 int score;11 } Stu;12 13 //输入14 void input(Stu *);15 void output(Stu *);16 void clean(Stu *);17 18 void main(void)19 {20 Stu student[min]; 21 input(student); //相当于传入&student[0]22 23 output(student);24 clean(student);25 }26 27 void input(Stu * student)28 {29 char temp[20];30 int i=0;31 puts("please input name");32 while(i<min & gets(temp) != NULL & temp[0] != ‘\0‘ )33 {34 student->name = (char *) malloc(strlen(temp)+1);35 strcpy(student->name,temp);36 37 puts("age ?");38 scanf("%d",&student->age);39 puts("score ?");40 scanf("%d",&student->score);41 42 i++;43 student++; //指针自加,指向下一个数组单元44 45 while(getchar() != ‘\n‘)46 continue;47 48 if(i<min)49 puts("next name");50 }51 52 }53 54 void output(Stu * student)55 {56 int i=0; 57 while(i<min){58 printf("%s---%d---%d\n",student->name,student->age,student->score);59 i++;60 student++;61 }62 63 }64 65 void clean(Stu * student)66 {67 int i=0; 68 while(i<min){69 free(student->name); 70 i++;71 student++;72 }73 }
c 用指针操作结构体数组
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。