C-7.指针
2015-11-23 19:54
169 查看
一. 指针
1. 指针变量的定义和使用
数据访问一般分为直接访问和间接访问,指针是间接访问的常用形式
定义: 指针变量是存放内存地址的变量
注意: 指针变量所占字节数至于操作系统有关
2. 取址与取值
&: 取址运算符,获得的是一块地址
* : 取值运算符,获得的是地址存储的值
3. 指针的算术运算
指针只有加减运算
4. 指针变量
指针类型的变量,指针变量赋值意味着重指向
*p注意事项: 指针变量定义时,只起修饰作用,告诉编译器p是指针;指针变量取值时,访问内存地址为p的存储区域
二. 指针与数组
1. 指针可以当做数组名使用
2. 指针与数组的区别
所占空间不同: 指针只与操作系统位数有关,数组与元素类型和个数有关
数组名是常量地址,不能重指向(不能赋值);指针可以重指向
注意: 指针类型要与数组元素类型匹配
3. 指针数组
三. 指针与字符串
字符指针可以操作单个字符,也可以操作字符串
四. 指针与结构体
1. 结构体指针
指向结构体变量的指针,称为结构体指针
结构体指针的定义:
结构体指针访问成员:
2. 结构体指针应用示例
3. 指针与结构体数组
结构体数组的数组名是一个结构体指针常量
注: 结构体指针为函数参数时,函数操作结构体数组时,需要传入首地址和元素个数
4. 预编译指令
宏定义
预编译指令的三种形式
五. 指针与函数
1. 函数指针定声明 定义 调用
函数名和数组名一样是地址
应用实例:
2. 函数回调
函数指针作为参数
3. 动态排序
示例:
4. 函数返回值是函数指针
示例:
1. 指针变量的定义和使用
数据访问一般分为直接访问和间接访问,指针是间接访问的常用形式
定义: 指针变量是存放内存地址的变量
注意: 指针变量所占字节数至于操作系统有关
2. 取址与取值
&: 取址运算符,获得的是一块地址
* : 取值运算符,获得的是地址存储的值
3. 指针的算术运算
指针只有加减运算
4. 指针变量
指针类型的变量,指针变量赋值意味着重指向
*p注意事项: 指针变量定义时,只起修饰作用,告诉编译器p是指针;指针变量取值时,访问内存地址为p的存储区域
二. 指针与数组
1. 指针可以当做数组名使用
2. 指针与数组的区别
所占空间不同: 指针只与操作系统位数有关,数组与元素类型和个数有关
数组名是常量地址,不能重指向(不能赋值);指针可以重指向
注意: 指针类型要与数组元素类型匹配
3. 指针数组
三. 指针与字符串
字符指针可以操作单个字符,也可以操作字符串
四. 指针与结构体
1. 结构体指针
指向结构体变量的指针,称为结构体指针
结构体指针的定义:
结构体指针访问成员:
2. 结构体指针应用示例
3. 指针与结构体数组
结构体数组的数组名是一个结构体指针常量
注: 结构体指针为函数参数时,函数操作结构体数组时,需要传入首地址和元素个数
4. 预编译指令
宏定义
预编译指令的三种形式
五. 指针与函数
1. 函数指针定声明 定义 调用
函数名和数组名一样是地址
应用实例:
2. 函数回调
函数指针作为参数
3. 动态排序
示例:
4. 函数返回值是函数指针
示例:
相关文章推荐
- HttpServletRequest与HttpServletResponse概要
- UVA 11584 Partitioning by Palindromes
- 【bzoj3942】 [Usaco2015 Feb]Censoring KMP
- Access、Hybrid和Trunk三种模式的理解
- 错排数
- 深入理解JDBC的超时设置
- LoadRunner中负载时间Duration与迭代次数Iteration的联系
- SharedSdk 分享
- mysql问题之infomation_schema
- [转]Bluetooth LE Credit-Based Flow Control for L2CAP Connection-Oriented Channels
- Project Euler 82:Path sum: three ways 路径和:3个方向
- 如何使用reg命令修改注册表
- DBCP、C3P0、Proxool 、 BoneCP开源连接池的比较
- ajax-瀑布流效果
- Golang学习笔记:包制作
- codeforces 581A Vasya the Hipster
- 数据结构之队列_Queue
- iOS求职:OC面试题
- 《奔跑吧,兄弟》之王祖蓝的"钥匙配箱子"概率统计问题--->>回眸
- [android] cannot be cast to android.widget.HeaderViewListAdapter