C语言指针函数链表复习
Posted 欣麒骥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言指针函数链表复习相关的知识,希望对你有一定的参考价值。
指向整型数据的指针类型表示为:int *,读作“指向int的指针”或简称“int指针”
p=&a;//表示把a的地址赋给指针变量p
print(“%d”,*p);//即指针变量p所指向的变量的值,即变量a的值。
运用代码:
#include <stdio.h>
#define N 3
struct Student
int num;
char name[20];
float score[3];
float aver;
;
int main(int argc, const char * argv[])
void input(struct Student stu[]);
struct Student max(struct Student stu[]);
void print(struct Student stu);
struct Student stu[N],*p=stu;
input(p);
print(max(p));
return 0;
void input(struct Student stu[])
int i;
printf("请输入各个学生的信息:学号、姓名、三门课成绩\\n");
for (i=0; i<N; i++)
scanf("%d%s%f%f%f",&stu[i].num,&stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3.0;
struct Student max(struct Student stu[])
int i,m=0;
for(i=0;i<N;i++)
if(stu[i].aver>stu[m].aver)m=i;
return stu[m];
void print(struct Student stud)
printf("\\n成绩最高的学生是:\\n");
printf("学号:%d\\n姓名:%s\\n三门课成绩:%5.1f,%5.1f,%5.1f\\n平均成绩:%6.2f\\n",stud.num,stud.name,stud.score[0],stud.score[1],stud.score[2],stud.aver);
链表:成绩系统,输入0为结束
#include <stdio.h>
#include <malloc.h>
#define LEN sizeof(struct Student)
struct Student
long num;
float score;
struct Student* next;
;
int n;
struct Student* creatn()
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;
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;
printf("%d",n);
return (head);
void print(struct Student head)
struct Student *p;
printf("\\nNow,These %d records are :\\n",n);
p=head;
if(head!=NULL)
do
printf("%ld %5.1f\\n",p->num,p->score);
p=p->next;
while (p!=NULL);
int main(int argc, const char * argv[])
struct Student *head;
head=creatn();
printf(head);
return 0;
以上是关于C语言指针函数链表复习的主要内容,如果未能解决你的问题,请参考以下文章