《C和指针》第十三章 高级指针话题
来源:互联网 发布:网络暴力微电影 编辑:程序博客网 时间:2024/05/17 02:33
1.一个指针变量可以指向另一个指针变量,和其他指针变量一样,一个指向指针的指针在他使用之前必须进行初始化,获取目标对象时可以通过执行双重的间接访问操作
2.高级声明:
int f;/*声明一个整数*/int *f;/*声明一个指向整型的指针*/int *f,g;/*这个并不是两个整形指针,而是一个指针,一个整型*/int f();/*一个返回值为整型的函数*/int *f();/*本质是一个函数,函数的返回值为指向整型的指针*/int (*f) ();/*本质是一个指针,指针指向一个返回值为整型的函数*/int *(*f) ();/*本质是一个指针,指针指向返回值为指向整型的指针的函数*/int f[];/*数组,数组元素为整型*/int *f[];/*数组,数组元素为指向整型号的指针*/int f()[];/*其实是非法的,看着像是一个函数,函数的返回值是整型号数组,因为函数只能返回标量,不能返回数组*/int f[]();/*其实是非法的,看着像是一个数组,数组元素类型是返回值为整型的函数,因为数组元素具有相同的长度,但不同的函数显然可能具有不同的长度*/int (*f[]) ();/*本质是数组,数组的元素是指针,指针指向具有整型返回值的函数*/int *(*f[]) ();/*本质是数组,数组的元素是指针,指针指向具有返回值为整型指针的函数*/int (*f)(int,float);/*是一个函数指针,指向具有返回值为整型的函数*/int *(*g[])(int,float);/*是一个数组,数组的元素是函数指针,指针指向的函数具有的返回值类型是指向整型的指针*/
3.函数指针(本质上是指针)
最常见的两个用途是转换表和作为参数传递给另外一个函数
4.回调函数的实现使用函数指针,一个指向回调函数的指针可以作为参数传递给另一个函数,后者使用的这个指针调用回调函数,使用这种技巧可以创建通用型函数,而不用担心参数类型不匹配
5.转移表也使用函数指针,转移表由一个函数指针数组组成,这些函数必须具有相同的原型,要确保这些函数的原型出现在这个数组声明之前。转移表就像switch语句一样执行选择,函数通过下标选择某个指针,再通过指针调用对应的函数,例如:
double add(double,double);double sub(double,double);double mul(double,double);double div(double,double);...double(*oper_fun[])(duble,double)={add,sub,mul,div...};result=oper_fun[oper](op1,op2);6.出现在表达式中的字符串常量的值是一个常量指针,它指向字符串的第一个字符,和数组名一样既可以使用指针表达式又可以使用下标来使用字符串常量
“xyz”+1;结果是一个指针,指向y*“xyz”;结果是x“xyz[2]”;结果是z*(“xyz”+4);结果是不可预测的
0 0
- 《C和指针》第十三章 高级指针话题
- 读书笔记--C和指针---第13章---高级指针话题
- C和指针读书笔记——高级指针话题
- c语言:高级指针话题
- c语言指针高级话题
- C和指针读书笔记-第13章(高级指针话题)
- C和指针 第十三章
- 高级指针话题
- 高级指针话题
- 高级指针话题
- C和指针读书笔记(第十三章)
- C和指针之高级指针话题通过函数指针实现在链表中找到特定的值
- 【C】【笔记】《C和指针》第10章 结构和联合 第11章 动态内存分配 第12章 使用结构和指针 第13章 高级指针话题 第14章预处理器
- C语言指针高级部分:void指针和数据指针
- C++入门经典 笔记 (第十三章)高级引用和指针
- 《C和指针》学习笔记七/链表 高级指针/
- 【C语言】高级指针和字符串特性
- 高级C语言教程-存储器和指针
- c++ 中的多重继承和其权限问题
- 点圆的关系
- linux 创建快捷方式
- android SDK 22.6.2 开发解决方法 activity_main.xml fragment_main.xml
- Linux文件共享(四)——父进程与子进程之间的文件共享
- 《C和指针》第十三章 高级指针话题
- log4j详解与实战
- 第二学期第12周项目4--日期时间类
- Java版——企业进销存管理系统设计文档+源码
- 试题 手机找回
- linux 下 MPlayer播放全屏显示
- 第二学期第13周项目--改错
- 从软件到硬件
- 数据库 - 注入式入侵