分享

3.20

 玉诗 2014-03-20
56.定义结构体数组
#include<stdio.h>
#include<string.h>
struct person
{char name[20];
int count;
}lead[3]={"li",0,"zhang“,0,"sun",0};
int main()
{
......
 
57.指向结构体的指针
#include<stdio.h>
#include<string.h>
int main()
{struct student
{long num;
char name[20];
char sex;
float score;
};
struct student stu_1;
struct student *p;
p=&stu_1;
stu_1.num=10101;
strcpy(stu_1.name,"li lin");
stu_1.sex='M';
stu_1.score=89.5;
printf("No.:%ld\nname:%s\nsex:%c\nscore:%5.1f\n",
p->num,p->name,p->sex,p->score);
return 0;
}
 
58.指向结构体数组的指针
#include<stdio.h>
struct student
{int num;
char name[20];
char sex;
int age;
};
struct student stu[3]={{10101,"li lin",'M',18},......
int main()
{struct student *p;
...
for(p=stu;p<stu+3;p++)
printf("%5d %-20s %2c %4d\n",p->num,p->name,p-sex,p->age);
return 0;
}
 
59.建立简单的静态链表
#include<stdio.h>
struct student
{int num;
float score;
struct student *next;
};
int main()
{struct student a,b,c,*head,*p;
a.num=10101;a.score=89.5;
b.num=10103;b.score=90;
c.num=10107;c.score=85;
head=&a;
a.next=&b;
b.next=&c;
c.next=NULL;
p=head;
while(p!=NULL)
{printf("%ld %5.lf\n",p->num,p->score);
p=p->next;
}
return 0;
}
 
60.建立动态链表
#include<stdio.h>
#include<stdlib.h>
#define LEN sizeof(struct student)
struct student
{long num;
float score;
struct student *next;
};
int n;
struct student *creat(void)
{struct student *head;
struct student *p1,*p2;
n=0;
p1=p2=(struct student *)malloc(LEN);
scanf("%ld,%f",&p1->num,&p1->score);
head=NUll;
while(p1->num!=0)
{n=n+1;
if(n==1)
head=p1;
else p2->next=p1;
p2=p1;
p1=(struct student *)malloc(LEN);
scanf("%ld,%f",&p1->num,&p1->score);
}
p2->next=NULL;
return(head);
}
 
int main()
{struct student *pt;
pt=creat();
printf("\nnum:%ld\nscore:%5.1f\n",pt->num,pt->score);
return 0;
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多