学习目标:
C语言多级指针的运用
C语言指针与函数的结合
C语言函数与指针的高级运用
学习内容:
- 多级指针的运用
- 指针函数的运用
- 函数指针间接调用函数
- 用含有函数指针参数的函数调用多个函数
学习内容:
函数库
保存该文件与main.c在同一文件夹下
命名为functions.c
#include <stdio.h>
#include <stdlib.h>
int *function(int);
int func(int);
int func_function(int (*p)(int),int);
int *function(int a)
{
int b= a*a;
return b;
}
int func(int a)
{
int b = a*a*a;
return b;
}
int func_function(int (*p)(int),int a)
{
int b = (*p)(a);
return b;
}
main.c文件
1.引入头文件
2.链接函数库
3.定义main函数
#include <stdio.h>
#include <stdlib.h>
int *function(int);
int func(int);
int func_function(int (*p)(int),int);
void main(void)
{
;
}
/*
int main()
{
return 0;
}
*/
演示内容
该代码内容仅作演示,运行时需要填充在main函数中
多级指针
printf("\n*5*\n");
{
//5.指向指针的指针(二级指针)
int a=1;
int *p = &a;
int **pp = &p;
printf("一级指针显示结果:%p\t%d\n",p,*p);
printf("二级指针显示结果:%p\t%d\n",*pp,**pp);
//同理也有多级指针
int ***ppp = &pp;
int ****pppp = &ppp;
printf("三级指针显示结果:%p\t%d\n",**ppp,***ppp);
//这种写法实际中意义不大
printf("四级指针显示结果:%p\t%d\n",***pppp,****pppp);
}
指针函数
printf("\n*6*\n");
{
//6.指针函数
int a = 2;