恕我太笨,真的看不懂到底要怎样才能用指针实现函数,求解答一下吧
感觉出的题目说的不是很清楚……不过我觉得应该是用数组来存储10个学生的成绩,再用指针访问吧,比如说这样:
#include <stdio.h>
void Input(int *scores) {//...}
int Min(int *scores) {//...}
int Max(int *scores) {//...}
float Avg(int *scores) {//...}
int main() {
int scores[10];
Input(scores);
printf("最低分:%d\n", Min(scores));
printf("最高分:%d\n", Max(scores));
printf("平均成绩:%.2f\n", Avg(scores));
return 0;
}
int Min(int *sc,int n);//返回长度为n的sc数组中的最小值
意思大概就是在主程序中定义
int s[10];//10个人的成绩
调用 int minsc=Min((int *)s,10);
不知道你这个问题是否已经解决, 如果还没有解决的话:邻接矩阵:
(1)建立图结构,包含顶点数组,边数组,顶点和边总数
(2)定位函数:可以通过顶点的信息定位到顶点下标
(3)建立邻接矩阵函数:a.输入顶点和边总数;
b.录入顶点数组和边数组信息 邻接表: (1)建立图结构(顶点结构数组,顶点和边总数),边结构(边的顶点,权重,连接指针),顶点结构(顶点信息,边连接指针)
(2)定位函数:可以通过顶点的信息定位到顶点下标
(3)建立邻接图函数:
a.输入顶点和边总数;
b.录入顶点数组和边数组信息
c.利用前插法将边与顶点连接
使用指针实现函数是指函数的参数为指针类型,在函数内部通过操作指针的地址来实现一些操作,以达到对外传入指针所指向的对象进行操作的目的。比如以下代码:
void addOne(int *num){
(*num)++;
}
int main(){
int a = 1;
addOne(&a);
printf("%d",a); // output: 2
return 0;
}
其中,addOne
函数的参数为指针类型 int *
,通过函数内部对指针所指向的对象进行操作,即将指针所指向的整型变量加 1。在 main 函数中调用该函数时,需要将变量 a
的地址传入,即 &a
,函数内部就可以通过操作该指针来间接地对 a
进行操作。