手机浏览器扫描二维码访问
」
「所以啊,记住,一个数组的数组名,就是这个数组的指针地址,也是数组首个元素的地址,换言之,上面的代码这句等效:
int*p=&a[0];
既然我们都已经拿到一个数组的指针地址了,那么接下来就可以对它的元素进行任意读写操作了。
不过有一点要记住,一定不能超过数组的上下限,不然你就死翘翘!
我们可以利用指针来获取元素,或者给元素赋值:
for(inti=0;i<5;i)
{
printf(“%d,%d,%d“,a[i],p[i],*(pi));
}
来来来,猜猜结果,猜中了有奖励哦!
」
「哈哈,它们输出的内容是相同的!
」
老爹话音刚落,我这边就已经看到了运行结果。
「嘿,任灵玥同学,你这么喜欢敲代码是吧,信不信我让你手写50遍!
」
老爹做出一副很凶的样子说道。
「没错,它们输出的内容的确是相同的,那是因为它们的作用一模一样。
刚刚我说了,数组名就是一个数组的指针地址,既然可以用a[i]来获取元素值,我们把a赋值给了p,那么p当然也是可以这样操作的。
至于p1嘛,是将指针指向的位置往从前位置移动一个单位。
注意,这里的单位就和指针的指向的数据类型有关系了,如果指针指向的数据类型是一个int,那么它指向的就是下一个int数据,是double的话,就移动到下一个double数据。
换句话说,*(pi)等效于p=(int*)((int)pi*4)。
我们首先把p的值,也就是一个地址值转换成int类型,假设数组a在内存中的地址是1234,pi其实就是执行了1234i*4,然后再把这个值,那么*(pi)自然就是取的起始地址为1234i*4这个int数据的值了。
而a[0]的地址是1234;
a[1」的地址是12341*4;
a[2」的地址是12342*4;
a[3」的地址是12343*4;
a[4」的地址是12344*4;
...
你说这靠谱不靠谱!堂堂大清朝的王府小姐竟然在脱得光溜溜的洞房花烛夜的交融瞬间穿越到了二十一世纪!更可悲的是,她的落脚地竟然是一个有着裸睡习惯的花花总裁的床上。而当时这个花花总裁正好从浴室里出来,从小被封建礼数所约束的她,怎能忍受这样被人偷窥的尴尬,抬脚就对他拉开了攻势,趁着黑暗对他飞起一脚。大胆狂徒!竟敢偷看本小姐的洞房花烛夜,还不拿命来?他边对她使着狗刨沙的功夫,边口出狂言回...
大宋教书匠紧急通知现代教书匠纵横大宋王朝捭阖学术之巅。...
背负血海深仇的神秘少年获得外星传承,带着一身出神入化的魔术踏入大都市,开始他的神奇之旅,替冰冷女总裁化解危机,透视,精神控制,赌石,赛车,泡美眉,无所不能,样样精通。他的魔术脱离了魔术的范畴,让你赏心悦目,让你疯狂,如痴如醉,这是魔术,还是异能?...
随着灵气的复苏,原本三分大陆七分海洋的蓝水星变成了一片沙漠。在沙漠中有种神奇的宝物叫做软木塞,只要找到它,把它拔掉,便能长出一片绿洲!新世纪九十九年,这是蓝星上灵气复苏之后的第一百个年头!一名被流放到南沙海的少年,在这里拔掉了属于自己的第一个软木塞,拥有了属于自己的一片绿洲。...
一场惊天重生,他回想起前世之屈,百宗陷害,陨于万兽潮。今生归来,前无古人,后无来者,他杀蛮兽,屠百宗与百族,前世天下皆负他,如今却他只能只手遮天,扭转乾坤,雪洗前世之屈。...