首页 > 代码库 > Object-c 指向指针的指针

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类型变量c14 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;}

 

Object-c 指向指针的指针