函数指针 函数指针数组 指针函数 数组指针 指针数组
来源:互联网 发布:销售客户软件 编辑:程序博客网 时间:2024/05/17 01:27
指针与数组:
指针与一维数组:
int arrInt[] = {1,2,3,4,5};
int* pa = arrInt;
*pa <==> arrInt[0];
*(pa+1) <==> arrInt[1];
函数指针:
void func1();
void func2(int);
void func3(int, double);
int* func4();
声明函数指针:
void (*pf1)(); // pf1表示返回值void,没有参数的函数。
void (*pf2)(int); // pf2表示返回值void,参数只有一个int的函数。
void (*pf3)(int, double); // pf3表示返回值void,参数顺序为int、double的函数。
int* (*pf4)(); // pf4表示返回值int*,无参的函数。
函数指针赋值:(函数名就是一个内存地址)
pf1 = func1;
pf2 = func2;
pf3 = func3;
pf4 = func4;
函数指针调用:
(*pf1)(); 调用func1
(*pf2)(1); 调用func2
(*pf3)(1, 1.3); 调用func3
(*p4)(); 调用func4
函数指针数组:
void (*pf[3])(); 声明3个指向void func();函数的指针
指针函数:
返回值为指针的函数形似int* func();
指针数组:(存放指针的数组)
int *pa[3]; // []优先级高于*,[]先与int结合组成数组,再由int*声明数组元素为指针。
int a,b,c;
pa[0] = &a;
pa[1] = &b;
pa[2] = &c;
数组指针:(指向数组的指针,也叫行指针)
int (*pa)[3]; // ()、[]优先级一样高,从左到右结合,首先是()强调pa是指针,然后是[3]pa指向有三个元素的一维数组。
int arrInt[3] = {1,2,3};
pa = arrInt;
pa++; //跨越一个数组长度,越界操作。
数组指针通常与二维数组联用:
int arrDoubleInt[4][3];
pa = arrDoubleInt[0]; // 指向第一行
pa[0][1] == *(*(pa+0)+1) == 第一行第二列数据。
pa++; // 指向第二行
指针与一维数组:
int arrInt[] = {1,2,3,4,5};
int* pa = arrInt;
*pa <==> arrInt[0];
*(pa+1) <==> arrInt[1];
*(pa+2)=6; <==> arrInt[2]=6;
void func(int*);
void func(int arr[]); // 与void func(int*); 形式是一样的
void func(int arr[4]); // 只接收元素个数为4的整形数组
函数指针:
void func1();
void func2(int);
void func3(int, double);
int* func4();
声明函数指针:
void (*pf1)(); // pf1表示返回值void,没有参数的函数。
void (*pf2)(int); // pf2表示返回值void,参数只有一个int的函数。
void (*pf3)(int, double); // pf3表示返回值void,参数顺序为int、double的函数。
int* (*pf4)(); // pf4表示返回值int*,无参的函数。
函数指针赋值:(函数名就是一个内存地址)
pf1 = func1;
pf2 = func2;
pf3 = func3;
pf4 = func4;
函数指针调用:
(*pf1)(); 调用func1
(*pf2)(1); 调用func2
(*pf3)(1, 1.3); 调用func3
(*p4)(); 调用func4
函数指针数组:
void (*pf[3])(); 声明3个指向void func();函数的指针
指针函数:
返回值为指针的函数形似int* func();
指针数组:(存放指针的数组)
int *pa[3]; // []优先级高于*,[]先与int结合组成数组,再由int*声明数组元素为指针。
int a,b,c;
pa[0] = &a;
pa[1] = &b;
pa[2] = &c;
数组指针:(指向数组的指针,也叫行指针)
int (*pa)[3]; // ()、[]优先级一样高,从左到右结合,首先是()强调pa是指针,然后是[3]pa指向有三个元素的一维数组。
int arrInt[3] = {1,2,3};
pa = arrInt;
pa++; //跨越一个数组长度,越界操作。
数组指针通常与二维数组联用:
int arrDoubleInt[4][3];
pa = arrDoubleInt[0]; // 指向第一行
pa[0][1] == *(*(pa+0)+1) == 第一行第二列数据。
pa++; // 指向第二行
阅读全文
0 0
- 指针,指针数组,数组指针,函数指针
- 函数指针指针数组
- 数组指针、函数指针
- 指针&数组&函数指针
- 函数指针数组指针!
- 指针数组,数组指针,函数指针,指针函数,多级指针
- 函数指针/函数指针数组
- 函数指针,函数指针数组
- 指针数组 数组指针 函数指针 函数指针数组
- 理解数组指针、指针数组、函数指针、函数指针数组
- 函数指针、指针数组与数组指针
- 解析 指针数组,数组指针,函数指针
- 函数指针、数组指针、指针数组
- 函数指针,数组指针,指针数组
- C++指针数组、数组指针、函数指针
- 函数指针,指针数组和数组指针
- 数组指针,指针数组和函数指针
- 函数指针,函数指针数组,函数指针数组的指针
- IP地址子网划分(CIDR)
- rtspsever网络编程中的socket选项之keepalive
- 【noip 2015】跳石头
- react-native热更新之在ubuntu上搭建code-push-server环境
- mysql的字符串的拼接
- 函数指针 函数指针数组 指针函数 数组指针 指针数组
- RecyclerView滑动时item显示出现控件显示不全
- python的协程
- 数组与STL实现单调队列的区别 POI2014 PTA-Little Bird
- sphinx增量索引和主索引来实现索引的实时更新
- XYNUOJ 第四次考试 表达式求值
- VirtualBox 未指定要bridged的网络界面
- ElasticSearch5.4.3 环境搭建 2017 (6-IK中文分词插件)
- 为RecyclerView添加下拉刷新(PullToRefresh)功能