C语言 【指针】

指针的形式:int *var;

指针的指针形式:int **var;

 1 #include <stdio.h>
 2  
 3 int main()
 4 {
 5  int var=200;
 6  int *ip;
 7  int **ptr;
 8 
 9 
10  ip = &var;
11 
12  ptr = &ip;
13 printf("====================指针的值=======================\n");
14  printf("普通变量的值%d\n",var);
15 
16  printf("指针的值:%d\n",*ip);
17 
18  printf("指针的指针的值:%d\n",**ptr);
19 
20 printf("====================指针的值=======================\n");
21 
22  printf("普通变量的值%p\n",var);
23 
24  printf("指针的值:%p\n",ip);
25 
26  printf("指针的指针的值:%p\n",ptr);
27 
28 
29 
30 
31 
32 
33 
34 }
指针

运行结果:

 

 

指针的函数形式:   int(*fun_ptr)(int,int) = &函数名

typedef int (*fun_ptr)(int,int); // 声明一个指向同样参数、返回值的函数指针类型(函数声明)
 1 #include <stdio.h>
 2  
 3 int max(int x, int y)
 4 {
 5     return x > y ? x : y;
 6 }
 7  
 8 int main(void)
 9 {
10     /* p 是函数指针 */
11     int (* p)(int, int) = & max; // &可以省略
12     int a, b, c, d;
13  
14     printf("请输入三个数字:");
15     scanf("%d %d %d", & a, & b, & c);
16  
17     /* 与直接调用函数等价,d = max(max(a, b), c) */
18     d = p(p(a, b), c); 
19  
20     printf("最大的数字是: %d\n", d);
21  
22     return 0;
23 }
指针函数

 

 

 

 

回调函数

函数指针作为某个函数的参数

 

posted @ 2018-07-27 11:23  Justice-V  阅读(96)  评论(0)    收藏  举报