review ordinary pointer
void changeC(char *d){
*d=9
}
char c=10;
char *p=&c;
changeC(&c);
NSLog(@"%i",c);
void changeStr(NSString *str2 ){
str2=@"123";
}
main.m
NSString *str=@"456";
changeStr(str);
NSLog(@"%@",str);// still456 学会内存分析
所以目的是改变str 的存储内容。
改代码为
void changeStr(NSString **str2){
*str2=@"123";
}
NSString *str=@"456";
changeStr(&str);
NSLog(@"%@",str);
不要管它几颗星,就是个指针,指针就是存储地址的。顶多两颗星够了。