函数指针,数组指针等知识总结
2017-10-25 13:04
288 查看
1、函数指针的实质还是指针,还是指针变量。本身占4字节(在32位系统中,所有的指针都是4字节)
2、函数指针、数组指针、普通指针之间并没有本质区别,区别在于指针指向的东西是个什么玩意。
3、typedef char* (*pType)(char *, const char *);
pType fun1;
分析:这句重命名了一种类型,这个新类型名字叫pType,类型是:char* (*)(char *, const char *);
也就是说pType是数据类型,fun1是变量
4、char* (*pType)(char *, const char *);
分析:定义了一个类型为 char* (*)(char *, const char *)的变量 pType
5、二重指针和指针数组
int *p1[5];
int **p3;
p3 = p1
分析: p1是指针数组名,本质上是数组名,数组名做右值表示数组首元素首地址。
数组的元素就是int *类型,所以p1做右值就表示一个int *类型变量的地址,
所以p1就是一个int类型变量的指针的指针,所以它就是一个二重指针int **;
6、最后在对一点小概念做下说明:
(1)指针数组的实质是一个数组,这个数组中存储的内容全部是指针变量。 int *p[5]
(2)数组指针的实质是一个指针,这个指针指向的是一个数组。 int (*p)[5]
7、二维数组的指针访问:
int a[2][5] a的数据类型为 int (*p)[5] 不明白的可以参考之前的博客
二维数组的指针访问: a[i][j]等同于 *(*(p+i)+j) p是a的数据类型
举例说明:
p3 = a; // 首元素首地址,等同于&a[0]
//p3 = &a[0];
printf("a[0][3] = %d.\n", *(*(p3+0)+3));
printf("a[1][4] = %d.\n", *(*(p3+1)+4));
2、函数指针、数组指针、普通指针之间并没有本质区别,区别在于指针指向的东西是个什么玩意。
3、typedef char* (*pType)(char *, const char *);
pType fun1;
分析:这句重命名了一种类型,这个新类型名字叫pType,类型是:char* (*)(char *, const char *);
也就是说pType是数据类型,fun1是变量
4、char* (*pType)(char *, const char *);
分析:定义了一个类型为 char* (*)(char *, const char *)的变量 pType
5、二重指针和指针数组
int *p1[5];
int **p3;
p3 = p1
分析: p1是指针数组名,本质上是数组名,数组名做右值表示数组首元素首地址。
数组的元素就是int *类型,所以p1做右值就表示一个int *类型变量的地址,
所以p1就是一个int类型变量的指针的指针,所以它就是一个二重指针int **;
6、最后在对一点小概念做下说明:
(1)指针数组的实质是一个数组,这个数组中存储的内容全部是指针变量。 int *p[5]
(2)数组指针的实质是一个指针,这个指针指向的是一个数组。 int (*p)[5]
7、二维数组的指针访问:
int a[2][5] a的数据类型为 int (*p)[5] 不明白的可以参考之前的博客
二维数组的指针访问: a[i][j]等同于 *(*(p+i)+j) p是a的数据类型
举例说明:
p3 = a; // 首元素首地址,等同于&a[0]
//p3 = &a[0];
printf("a[0][3] = %d.\n", *(*(p3+0)+3));
printf("a[1][4] = %d.\n", *(*(p3+1)+4));
相关文章推荐
- 指针数组、数组指针、函数指针、指针函数总结
- 指针数组、数组指针、函数指针、指针函数总结
- 指针类型学习总结(函数指针、数组指针和指针数组)
- 指针数组、数组指针、函数指针、指针函数总结
- 指针数组、数组指针、函数指针、指针函数总结C++
- 内存管理、野指针、读写字符的函数、预编译处理、宏定义及条件编译的知识总结
- 函数及指针总结
- PHP基础知识总结02(常用的数组函数)
- C基础知识之理解指向函数的指针
- 结构体指针的学习与总结&&函数指针与指针函数
- 函数的参数传递的几种形式(值、地址、引用)及指针基础知识
- 【IOS 开发学习总结-OC-7.10-★】 objective-c——函数与指针
- 彻底了解指针数组,数组指针,以及函数指针
- 使用指针作为函数返回值和参数的问题总结
- 函数指针与指针函数的学习总结
- iOS基础知识:指针函数和函数指针
- 栋栋晓10:Javascript学习总结:基础知识2(语句,函数,)
- C++中的指针、数组指针与指针数组、函数指针与指针函数
- 常量指针、指针常量、指针函数、函数指针、指针数组、数组指针区别在哪里?
- C语言学习笔记 (007) - 数组指针和通过指针引用数组元素的方法总结