陕西网站制作商,免费的二级域名服务器,wordpress设置全屏,长春火车站到龙嘉机场怎么走文章目录1.指针数组和数组指针1.int *p1[10];2.int (*p2)[10];2.函数指针char *(*fun1)(char * p1,char *p2)函数指针的概念函数指针的作用#xff1a;例子1 .调用方式例子2#xff1a;#xff08;带注释#xff09;例子33.做题的小技巧1.指针数组和数组指针
1.int *p1[10…
文章目录1.指针数组和数组指针1.int *p1[10];2.int (*p2)[10];2.函数指针char *(*fun1)(char * p1,char *p2)函数指针的概念函数指针的作用例子1 .调用方式例子2带注释例子33.做题的小技巧1.指针数组和数组指针
1.int *p1[10];
int *p1[10];指针数组存储指针的数组数组的元素都是指针数组所占字节 由数组本身决定
2.int (*p2)[10];
int (*p2)[10];详解
int (*) [10](指针类型
p2 指针变量数组指针指向数组的指针32位系统下永远是4个字节他指向 的数组占字节数未知 注()[]* 运算优先级速查链接 https://blog.csdn.net/csdn_kou/article/details/80139099
2.函数指针
char *(*fun1)(char * p1,char *p2)
函数指针的概念
char *(*fun1)(char * p1,char *p2)详解
char *(*)(char * p1,char *p2)(指针类型fun1指针变量函数指针的作用
例子1 .调用方式
char * fun(char *p1, char *p2)
{}
int main()
{char *(*p)(char * p1, char *p2);p fun;(*p)(aa, nn);system(pause);return 0;
}上面的例子我们还无法看出他的优势。 函数指针数组
例子2带注释
#define _CRT_SECURE_NO_WARNINGS
#include stdio.h
#include stdlib.h/*四种算法*/
int Add(int x, int y)
{return x y;
}
int Sub(int x, int y)
{return x - y;
}
int Mul(int x, int y)
{return x * y;
}
int Div(int x, int y)
{return x / y;
}void calc(int(*p)(int, int))
{//calc(int Add(int ,int )int ret 0;int x 0;int y 0;printf(请输入两个操作数:);scanf(%d%d, x, y);ret p(x, y);// Add(x,y);printf(ret %d\n, ret);
}int main()
{int (*p[5])(int, int) {0, Add, Sub, Mul, Div};//指针变量p[5],内部5个元素加减乘除int input 0;do{scanf(%d, input);if(input1 input4)calc(p[input]);//calc(Add);//Add 指针类型是 int (*)(int ,int )elseprintf(退出\n);} while (input);
}例子3
#include stdio.h#define GET_MAX 0
#define GET_MIN 1int get_max(int i, int j)
{return i j ? i : j;
}int get_min(int i, int j)
{return i j ? j : i;
}int compare(int i, int j, int flag)//1
{int ret;//这里定义了一个函数指针就可以根据传入的flag灵活地决定其是指向求大数或求小数的函数//便于方便灵活地调用各类函数int(*p)(int, int);//2if (flag GET_MAX)//3p get_max;elsep get_min;ret p(i, j);//4return ret;
}int main()
{int i 5, j 10, ret;ret compare(i, j, GET_MAX);printf(The MAX is %d\n, ret);ret compare(i, j, GET_MIN);printf(The MIN is %d\n, ret);return 0;
}
3.做题的小技巧
画图 数组在内存中是连续存放不是矩阵形式 在32位系统下不管什么类型的指针永远只占四个字节二维数组的内存分布a[i][j] * (*(ai)j)函数本身没有类型函数的返回值才有类型。 后续再补充