零点小说网

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

第四十九章 指针四(第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的地址了,就不能再做修改,这个应该看得懂吧?」

热门小说推荐
血天大陆

血天大陆

三百根盘虬卧龙的铜石巨柱,星罗密布,遮天蔽日,高达数十丈,在这片石柱林之上,乃是黑压压的一片,那是嘉雁城最宏伟的三大建筑之一,曾经的天门,如今的北宫武馆。今日的北宫武馆,云台登天处人群密集,而平时用...

宠妻狂魔别太坏花木蓝

宠妻狂魔别太坏花木蓝

被亲妹妹算计,抢走家族荣誉还不算,连青梅竹马的未婚夫也被抢走!夏小汐发誓,要报仇!伙同男闺蜜制造复仇计划,咦?结婚证上这是谁?一不留神嫁给男闺蜜的舅舅墨夜霆!墨夜霆是谁?那个富可敌国权势滔天的男人!据说还是个GAY!管他呢,先虐了渣渣再说。可是,虐完渣以后呢?离婚该提上日程了,可他对她却日日宠,夜夜宠,化身宠妻狂魔。十天有八天起不来床的夏小汐,欲哭无泪,不是说他是GAY吗?GAY你大爷!...

星娱幻想

星娱幻想

商场沉浮的一生,没有善恶只有生存,重生后拥有左右世界的能力,却迷失了方向直到遇到那些女孩,改变了他。韩娱,偏少时,不喜勿喷扣扣群146120447有兴趣的朋友可以进来聊聊...

龙王传说

龙王传说

伴随着魂导科技的进步,斗罗大陆上的人类征服了海洋,又发现了两片大陆。魂兽也随着人类魂师的猎杀无度走向灭亡,沉睡无数年的魂兽之王在星斗大森林最后的净土苏醒,它要带领仅存的族人,向人类复仇!唐舞麟立志要成为一名强大的魂师,可当武魂觉醒时,苏醒的,却是旷世之才,龙王之争,我们的龙王传说,将由此开始。...

新军阀1909

新军阀1909

一个现代的雇佣兵,一个纵横美国西海岸地下势力的强者。在一次意外中,穿越到1909年的清末。一个土豪的家庭,一支二百人的武装护庄。主角大胆决定,艰难起步,开始掀起一场民族复兴崛起之路。国防军参谋部群号,1235387(又不满了)国防军司令部群号44745892(热情开放)...

重生之天才神棍

重生之天才神棍

重生之天才神棍由作者凤今创作全本作品该小说情节跌宕起伏扣人心弦是一本难得的情节与文笔俱佳的好书919言情小说免费提供重生之天才神棍全文无弹窗的纯文字在线阅读。...

每日热搜小说推荐