鸿蒙文学网

手机浏览器扫描二维码访问

第四十九章 指针四(第1页)

但凡涉及到和内存相关的知识时,老爹都会使用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的地址了,就不能再做修改,这个应该看得懂吧?」

热门小说推荐
爱的双面埋伏

爱的双面埋伏

一个稚嫩的小女生,在对的时间遇到了那个似乎自己觉得那个对的人,被爱情冲昏了头脑,为了自己心爱的人貌似什么都能放弃可是好景不长不辞而别又遭遇了车祸的他在几年后的出现给她带来爱人和好朋友的背叛正因为这些才让她变得更强大!...

女神聊天群

女神聊天群

校花误拉我加入了一个聊天群,发现里面全都是美女,而且天天都晒福利小照片和劲爆小视频,直到她们为了对付现实中的我,开始实行所谓的母猪计划,我潜在群中,倍感压力...

秦九州林宛白全文免费阅读

秦九州林宛白全文免费阅读

一代战神秦九州重归都市,为弥补遗憾,搅动风起云涌,以不败之资横行四方,诸天震颤。...

狂王拦道:王妃别想逃

狂王拦道:王妃别想逃

作者弱十七的经典小说狂王拦道王妃别想逃最新章节全文阅读服务本站更新及时无弹窗广告小说一朝穿越,再现芳华,遇见他是偶然还是宿命。金戈铁马,马革裹尸,儿女情长亦有家国天下。生而不往,死去无门,纠缠半生终究独自茕茕。...

金牌强手

金牌强手

昆仑少年叶离武道入圣,医术无双,下山入世,调戏性感御姐,拯救傲娇警花,保家卫国,匡扶正义,成就一代宗师!...

重生地主婆

重生地主婆

看高干是怎么修炼成地主婆的看私生女是怎样修炼成学霸的手握空间能种田,系统交易可益智妖魔恶鬼并不可怕,可怕的是笑着承诺帮你的伪施恩者她感激了多年的女人才是害死她们母女俩的恶魔说来说去还不是因为她是上位失败的小三女儿她就是那个所谓爱情结晶的失败品替婚受辱能想象的苦都尝了个遍重新来过,她想,好人难做,还是学坏容易系统傍身,辣手高干,学霸是她,不代嫁...

每日热搜小说推荐