手机浏览器扫描二维码访问
但凡涉及到和内存相关的知识时,老爹都会使用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的地址了,就不能再做修改,这个应该看得懂吧?」
见我和小弦子都点了点头,老爹又接着说道:「虽然p指向的地址是不能再修改的,但并不影响我们修改这个地址对应的变量的值。换句话说:
*p=3;
*p=4;
是不会出错的!」
「老爹你等等,我感觉有点绕了。」
我突然觉得画风转变得有点快,让人触不及防,怎么就一下子就听不明白了呢?
「这样啊,那我们来举个例子好好捋一捋这其中的道道。
假设哈,我是假设我们有一把万能钥匙,这把钥匙能够打开所有的保险箱。」
「哇哦,那样的话我们不是发财了么?那我们还编什么程啊,直接开个专业开保险柜的店不就好了么?但凡遇到找我们开保险柜的,都收百分之一的手续费,每天数毛爷爷手都得数抽筋。」
最强豪婿陆凡 衫生诡 龙婿陆凡 四龙攒凤 上门龙婿陆凡 迟宠 张钟颖 夫人的病今天好了吗 我的蛮荒部落 异界烽火录贰烽云再起 戚风童话 校园全能马甲女神 大佬甜妻宠上天 王妃称心 顾九辞霍明澈 梦灾末世生存指南 阴阳眼小师妹 韩娱之聚光 嗣子荣华路 青梅千千结
(甜宠文)小可爱,我想进去可外面有人没事,他们不会进来的。顾子安轻声哄道。红豆无奈,古人的好奇心都这么大吗?超市逛了无数次,顾子安还是这么念念不忘。穿越前,红豆是身高五尺的女汉子穿越...
一代战神秦九州重归都市,为弥补遗憾,搅动风起云涌,以不败之资横行四方,诸天震颤。...
武装现代高科技,前往异界抢粮,抢米,抢美女。穷沟沟里出来的大学生陈青,偶然得到可以穿梭不同空间的位面之门。没钱花,异界的黄金多如牛毛。没妞泡,异界的美眉投怀送抱。什么?你说异界的猛兽很多,高手如云。嘭!我有神枪大炮在手,你来一个我崩一个,你来两个我崩一双。PS建了一个书友群,喜欢的加一下吧。群号134684907...
黎漠,武艺高超医术一流,在山上修行自在的黎漠忽然被师傅桐老赶下山,去做了海城欧阳家的上门女婿。...
搜小说免费提供作者清各的经典小说我的奇幻道具最新章节全文阅读服务本站更新及时无弹窗广告欢迎光临观看小说2019年,一个一事无成的年轻人,在情场和职场都失忆的时候,由于一场意外回到了2010年,回去后的主角大脑被开发到百分之百,聪明过人,此外还得到一张余额正无穷银行卡,从而改变自己的命运。...
21世纪全职主妇,一朝穿越,誓要断情绝爱一心搞事业。可好不容易跟原主青梅竹马的未婚夫退了婚,却又来了一个怎么甩也甩不掉的摄政王。说好的断袖?说好的好男僻呢?某王本王喜欢的是女子,苏苏若是不信,大可亲自一试。苏苏SOS怎么逃都逃不掉,这可如何是好?在线等,挺急的。本文1VS1,男女主双洁,强强联合,独宠,女强...