Tir*_*rth 3 c iphone objective-c
当我想要单指针时我感到困惑,何时我应该采用双指针?在以下结构中究竟做了什么?
struct objc_class {
Class isa;
Class super_class;
const char *name;
long version;
long info;
long instance_size;
struct objc_ivar_list *ivars;
struct objc_method_list **methodLists;
struct objc_cache *cache;
struct objc_protocol_list *protocols;
};
Run Code Online (Sandbox Code Playgroud)
为什么我们使用"**methodLists"双指针.
编辑
int sqlite3_get_table(sqlite3*db,
const char*zSql,
char***pazResult,
int*pnRow,
int*pnColumn,
char**pzErrmsg
); 在上面的场景中,三指针char***pazResult的含义是什么?
好吧,至少在C中,双指针通常用于2D数组.最常见的2D数组可能是C字符串(char*s)的数组.有时也会使用双指针通过引用将指针传递给函数,但这不太可能在您发布的代码示例中使用.
根据名称,methodLists我猜这是一个列表数组.C中的(链接)列表通常由指向节点的指针表示,该指针objc_method_list可以是.然后用双指针实现这种列表的数组.
| 归档时间: |
|
| 查看次数: |
2660 次 |
| 最近记录: |