#include <stdio.h> int func(int a,int b) { return a+b; } int main(void) { int (* p)(int,int)=func; //函数名是一个函数的入口地址 printf("%d\n", p(4, 4)); return 0; } //int (*p)(int) 可以看成int A (int)这是一个指针指向参数是int,返回值是int的函数。 函数指针。 //int *p(int) 这是一个函数,他的参数是一个整形,返回值是一个指向整形的指针。 #include <stdio.h> int * func(void) { return NULL; } int main(void) { int * p = func(); return 0; } //int **p 这是一个指针,指向另一种指针,该指针指向整形,二级指针。int a ,b ;int * q = &a; p = &q; *p = &b;可以用来改变一个指针的指向 #include <stdio.h> //这仍然是一种函数,指向数组的函数 int (* func(void))[10] { return NULL; } int main(void) { int (* p)[10] = func(); return 0; }
时间: 2024-08-07 21:17:09