#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;
}
C指针大杂烩
最新推荐文章于 2024-08-06 23:04:05 发布