手机浏览器扫描二维码访问
但凡涉及到和内存相关的知识时,老爹都会使用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的地址了,就不能再做修改,这个应该看得懂吧?」
刘会掉进锁龙井,被一条好色,好战,好吹牛的龙上身,从此生活发生巨大变化。打架和桃花运滚滚而来,大姑娘,小媳妇,校花,女星,名媛村霸,地痞,黑社会还有龙得罪的一波强大变态敌人。敖水的话哎呀我去!现代就是比远古好,这女人穿的,忒少了,也不害臊,电视上,手机里,选秀的,直播的,想看啥有啥。打架?上啊!往死里揍,是男人就要硬,拳头硬,那里硬哎哎哎,别屏蔽我...
好巧啊,你喜欢的样子,我都有!...
内容简介原本以为只能混吃等死的少年江晨,怎么却被要死不活的天魔老怪给盯上了?还要被逼发下心魔之誓去当宗主那个能激发天魔令的特殊体质到底是怎么回事?控僵尸招魂魄御鬼仆,在修仙之路上,请看江晨是如何由卑微的记名弟子一步步成长为天魔宗宗主,并最终率领天魔宗称霸魔门的!不过,称霸魔门后就万事大吉了吗?别忘了正道仙门可还在一旁虎视眈眈呢!江晨说,我们的口号就是道高一尺,魔高一丈!正道的伪君子敢来犯我魔门,必将打得他们满地找牙!新晨已经完本魔盗传奇惊宋两部VIP作品,总字数超过360万字,且从上传至完本无一天断更,请各位书友放心收藏观阅本书!PS新晨建了一个QQ群,群号257408127,欢迎大家加群讨论!...
贡我一毫一宣,足可墨绘江山。祭我一剑一矢,足可戮弑八方。予我一琴一弦,足可操鸣青霄。犒我一鞭一马,足可君临天涯。贶我一裟一杖,足可渡脱百塔。借我一目一手,足可独霸天下。今我得狐一只,只得卧枕安榻。...
愿以天下独步之铁骑,踏遍这万里河山。武者,战死疆场,马革裹尸,幸也!就以我大汉皇叔之名,前方便刀山火海,亦将铁蹄踏平之!我是刘闯,这是我的故事!三国三部曲最后一部悍戚,2013年隆重登场,让我们重温那一段铁与血交织一起的沸腾年代。...
...