黑马程序员技术交流社区
标题:
求告知 指针数组 和 数组指针 的本质区别?
[打印本页]
作者:
dazayn
时间:
2016-3-31 06:50
标题:
求告知 指针数组 和 数组指针 的本质区别?
看了好久2句话 还是不太明白 其中的本质区别 求告知
作者:
muzipiao
时间:
2016-3-31 09:24
指针数组 和 数组指针 的本质区别
例如NSArray *arr=[NSArray array]; //这是定义一个数组,那么arr就是数组指针,代表数组的地址;
很明显的特征,*x,凡是用*号访问的,肯定都是地址,这里也不例外,只不过arr是数组的指针。
指针数组,代表存储一组指针的数组。
上大学学C语言时,老师的一句话就让我明白什么是指针了----》
【指针就是地址】
所以这里,指针数组,存储的是指针,也就是地址
例如:
//定义三个字符串对象,其中string1,string2,string3就是字符1,2,3的地址,也就是他们的指针
NSString *string1=@"字符1";
NSString *string2=@"字符2";
NSString *string3=@"字符3";
//定义一个数组,把他们保存到里面,则存储的是地址,也就是指针,所以是指针数组
NSArray *arr1=[NSArray arrayWithObjects:string1,string2,string3, nil];
//不是对象的,是基本数据类型的也可以
int a=1;
int b=2;
//定义一个数组保存a,b的指针,也就是地址,那这里就是一个指针数组
NSArray *arr2=[NSArray arrayWithObjects:&a,&b, nil];
//由于取出的值是指针,所以想要打印a,b的值,需要用*号访问
NSLog(@"a=%d,b=%d",*arr2[0],*arr2[1]);
复制代码
作者:
tdwydan1
时间:
2016-3-31 21:15
两个的本质就是,第一个是数组,这个数组里存的是一个个指针元素;第二个是指针,这个指针里存的元素是数组,这个元素的类型是数组类型的
作者:
Sniper-L
时间:
2016-4-1 01:00
一个存放指针的数组 一个是指针指向数组也就是数组的地址
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2