码迷,mamicode.com
首页 > 编程语言 > 详细

c 用指针操作结构体数组

时间:2014-12-19 12:54:34      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:指针   数组   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 用指针操作结构体数组

标签:指针   数组   c   结构   结构体   操作   

原文地址:http://www.cnblogs.com/hanyouchun/p/4173578.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!