手机浏览器扫描二维码访问
但凡涉及到和内存相关的知识时,老爹都会使用ppt绘制图形来辅助讲解。
如果没有那些图的话,理解起来还是有一些困难。
「就然说到这里,就顺便提一下指针的自加和自减。
我们先回顾一下普通变量的自加和自减:
inta=10;
对于a等效于a=a1,a--等效于a=a-1。
那么对于指针变量
int*p=&a;
来说也是一样的
p等效于p=p1,p--等效于p=p-1。
而我们刚刚才说过,对指针做加减运算,实际上是按照指针指向的数据类型为单位上下移动,如果我们再配合*的话,也可以对数组进行赋值或者取值,你比如说:
intarr[5];
int*p=arr;
inti=sizeof(arr)sizeof(arr[0]);
while(i-->0)
{
scanf(%d,p);
}
注意这里面有个两个需要关注的地方,首先是老爹用sizeof来获取了一个数组占用内存的字节数,如果这个地方换成sizeof(p)话,只会得到p这个变量占用的内存字节数,这是指针和数组名的区别之一。
第二点,数组名是不可以做自加和自减操作的,不信你们可以把scanf函数中的p换成a,绝对会出错。
」
虽然老爹无比笃定,但本着不「事不目见耳闻而臆断其有无」的原则,我尝试了一下,果然是报错了。
「那为什么会这样呢?」
「这个嘛,老爹也没有看到过c语言是如何管理数组的,但是老爹猜测,arr是一个被const修饰的指针,何以见得?如果我们对变量p进行如下修改,就会发现p也不能执行自加自减操作了。
int*constp=arr;」
「const会将一个变量变成常量,如果修饰一个指针是不是指针也变成了常量?」
一直都沉默不语的小弦子出声问道。
「的确是这样,和普通变量一样,一个指针变量被const修饰后就变成了一个指针常量,那么我们就只能为其初始化一次,就不能再修改这个指针指向的地址了。
例如:
inta=0;
intb=1;
int*constp=&a;
p=&b;
在执行最后一行代码的时候肯定会出错,因为指针变量被const修饰,并且已经为其赋值为变量a的地址了,就不能再做修改,这个应该看得懂吧?」
肖洒重生了,财源滚滚来,在缔造自己商业帝国的同时,他也收获着亲情爱情友情,让人欢喜,让人忧伤,让人思念,让人断肠,让人百般费思量...
残雪飘零,怅然未歇人间不值得,问奇绝峰峦,尝攀天阶?潜龙在渊,尘世辗转零落花成泥,叹秋水潺潺,生死难勘。王涣立誓报灭门之仇,奈何雪神殿前,苍岚山巅,终是细雪魂断,无力回天。王焕,生于微末,死于尘埃,可笑心高命孱,红尘千磨万坎,苍天应怜我,心有不甘。九珏叠天,极幽魔现,万年棋局落子已定,两人阴差阳错合为一体,命运交织纠缠。踏阴阳,碎神殿定鼎万界,问道诸天!灵山道上,地狱门前,永宁情断魔魂茧。千百年后,时过境迁。笑言了却前缘,你又为何红晕浅浅,泪流满面?...
她是集万千宠爱于一身的郡主。不顾身份高低信守婚约嫁给他,却落得个家破人亡,死无全尸的下场。一朝醒来,浴火重生。前世你们一层一层撕我的皮,这一世我便一点一点剜你们的心。但首先得要找个由头来退婚。传言,镇国侯家的郡主竟然思慕摄政王多年。百姓真真是有胆大不怕死的,和摄政王定亲的都惨死了,还敢思慕阎王爷。摄政王难得郡主倾心,本王不敢辜负。楚玥我只是借摄政王威名一用。肃奕临郡主莫要害羞,安心待嫁。...
诺贝尔生理学或医学奖得主保罗克勒默跪在胡政的屋外请大师收我为徒,传授我人体脏腑器官再生技术。胡政摇头你对神经系统的信号转导机制有经验,我收你做一个外门弟子,传你神经线路集成法,使人类的思维能力扩大十倍。这个被地球人称为外星人大师的胡政,曾经经历过一次外星人夺舍的危险。但是,胡政反夺舍成功,并接收了外星人的所有记忆与经验,还拥有了一个万物合成器。于是胡政牛逼了!超距离传送技术外星...
整个云州都知道,叶家多了个拖油瓶,宁璃。出身低微,不学无术。重生回来的宁璃看着镜子里十七岁的自己,微微一笑。这一年,她的容貌还没有被继弟摧毁,她的荣光还没有被继妹窃取,属于她的一...
龙?算什么!比蒙巨兽?一边趴着去!所有魔兽都给我老实点!!惹火了老子有你们好看的!国王?没听过!帝国首富?把钱留下!大陆第一高手?垃圾!没有金币美女,就等着你们的魔宠病死吧!不过美女除...