Object-c 指向指针的指针

要求从外部定义一个函数,改变main函数里c的值

步骤:

1.调用函数,如果要在外部修改main函数中变量的值,需要把这个值的地址传给函数.&c

2.在外部函数中,利用指针将指向c的值修改. 

 1 void changeC (char *p){
 2 
 3   //通过指针.修改c的值
 4 
 5     *p = 9;
 6 
 7 }
 8 
 9 int main(int argc, const char * argv[]) {
10 
11     @autoreleasepool {
12 
13         //定义一个char类型变量c
14 
15         char c = 10;
16 
17         //调用changeC函数.将c的地址传函数,
18 
19         changeC(&c);
20 
21         NSLog(@"%i",c);
22 
23     }
24 
25     return 0;
26 
27 }

图解内存中的关系

将str的地址(指针就是地址)传给函数,就可以通过指向str地址的指针str1修改str指向的那个存储空间的值

#import <Foundation/Foundation.h>
void changeStr(NSString **str1) {
    *str1 = @"hi";
}
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //定义一个指针,它指向地址的内容是@"hello",str本身是指针
        NSString *str = @"hello";
        //调用函数时,修改str的内容
        changeStr(&str);
        NSLog(@"%@",str);
    }
    return 0;
}

 

posted @ 2014-10-19 14:02  高了个辉  阅读(458)  评论(0编辑  收藏  举报