C语言的指针


二维数组

void main()
 {
 	int num;
 	/* 声明子函数 */
 	void average(float *point, int n);
 	void search(float(*point)[4], int n);
 
 	/* 定义一个静态存储数组并赋初值 */
 	static float score[4][4] = {{76, 90, 92, 87}, {68, 78, 69, 94},  
 	                            {89, 82, 81, 60}, {81, 68, 60, 97}};
 
 	printf("班级的总平均分:");
 	average(*score, 16);    /* 调用函数average求12个分数的平均分 */
 	printf("请输入学生的学号(0-3):");
 	scanf("%d", &num);
 	search(score, num);    /* 求出第四个学生的成绩 */
 }
 
 /* 子函数定义 */
 void average(float *point, int n)
 {
 	float *p_end;
 	float aver;
 	float sum = 0;
 	p_end = point + n -1;
 	for(; point<=p_end; point++)
 		sum = sum + (*point);
 	aver = sum/n;
 	printf("%5.2f\n", aver);
 }
 
 void search(float(*point)[4], int n)
 {
 	int i;
 	for(i=0; i<4; i++)
 		printf("%5.2f ", *(*(point+n)+i));
 	printf("\n");
 }

函数指针

	int(*p)(const char *, const char *);    /* 函数指针 */
 
 	p = strcmp;    /* 将函数strcmp的地址赋给函数指针p */
 	check(s1, s2, p);    /* 通过指针变量p传递函数strcmp的地址 */
 void check(char *a, char *b, int(*cmp)(const char *, const char *))
 {}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值