- 基本 Objective-C
- Objective-C - 主页
- Objective-C - 概述
- Objective-C - 环境设置
- Objective-C - 程序结构
- Objective-C - 基本语法
- Objective-C - 数据类型
- Objective-C - 变量
- Objective-C - 常量
- Objective-C - 运算符
- Objective-C - 循环
- Objective-C - 决策
- Objective-C - 函数
- Objective-C - 块
- Objective-C - 数字
- Objective-C - 数组
- Objective-C - 指针
- Objective-C - 字符串
- Objective-C - 结构
- Objective-C - 预处理器
- Objective-C - Typedef
- Objective-C - 类型转换
- Objective-C - 日志处理
- Objective-C - 错误处理
- 命令行参数
- 高级 Objective-C
- Objective-C - 类和对象
- Objective-C - 继承
- Objective-C - 多态性
- Objective-C - 数据封装
- Objective-C - 类别
- Objective-C - 摆姿势
- Objective-C - 扩展
- Objective-C - 协议
- Objective-C - 动态绑定
- Objective-C - 复合对象
- Obj-C - 基础框架
- Objective-C - 快速枚举
- Obj-C - 内存管理
- Objective-C 有用资源
- Objective-C - 快速指南
- Objective-C - 有用的资源
- Objective-C - 讨论
Objective-C - 指针到指针
指向指针的指针是多重间接寻址或指针链的一种形式。通常,指针包含变量的地址。当我们定义一个指向指针的指针时,第一个指针包含第二个指针的地址,第二个指针指向包含实际值的位置,如下所示。
作为指向指针的指针的变量必须如此声明。这是通过在其名称前面添加一个额外的星号来完成的。例如,以下是声明一个指向 int 类型指针的声明 -
int **var;
当目标值由指向指针的指针间接指向时,访问该值需要应用星号运算符两次,如下例所示 -
#import <Foundation/Foundation.h> int main () { int var; int *ptr; int **pptr; var = 3000; /* take the address of var */ ptr = &var; /* take the address of ptr using address of operator & */ pptr = &ptr; /* take the value using pptr */ NSLog(@"Value of var = %d\n", var ); NSLog(@"Value available at *ptr = %d\n", *ptr ); NSLog(@"Value available at **pptr = %d\n", **pptr); return 0; }
当上面的代码被编译并执行时,它会产生以下结果 -
2013-09-14 00:41:45.687 demo[22087] Value of var = 3000 2013-09-14 00:41:45.687 demo[22087] Value available at *ptr = 3000 2013-09-14 00:41:45.687 demo[22087] Value available at **pptr = 3000
Objective_c_pointers.htm