笔趣阁

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

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

见我和小弦子都点了点头,老爹又接着说道:「虽然p指向的地址是不能再修改的,但并不影响我们修改这个地址对应的变量的值。换句话说:

*p=3;

*p=4;

是不会出错的!」

「老爹你等等,我感觉有点绕了。」

我突然觉得画风转变得有点快,让人触不及防,怎么就一下子就听不明白了呢?

「这样啊,那我们来举个例子好好捋一捋这其中的道道。

假设哈,我是假设我们有一把万能钥匙,这把钥匙能够打开所有的保险箱。」

「哇哦,那样的话我们不是发财了么?那我们还编什么程啊,直接开个专业开保险柜的店不就好了么?但凡遇到找我们开保险柜的,都收百分之一的手续费,每天数毛爷爷手都得数抽筋。」

热门小说推荐
旧日主宰

旧日主宰

你使用了外挂,催眠术提升九百九十九级。你使用了外挂,融合了巨熊功巨鲸功等一百八十门古武,获得泰坦神功,觉醒泰坦巨力。这是一个枪炮古武改造人半兽人邪灵并存的时代。当新时代的枪炮敲响了旧时代的丧钟,唐文带着外挂降临了。我从旧日来,主宰新时代!老月已经完本法师奥义永恒武道长生种皆是精品,老月出品...

至尊妖孽兵王

至尊妖孽兵王

一代妖孽战医叶洛,受杀手之王临终托女隐居都市。本想安稳过日子的他,却不经意间被美女包围,娇俏护士,火爆女警,富家千金,冷傲总裁,当红女星…一个个闯进他的生活,搅乱了他的平静。叶洛叹息装逼泡妞我早已厌倦,只想做个平凡人,你们何必逼我呢?...

星际传奇

星际传奇

五千年的科技发展使人类文明繁荣兴盛,探索宇宙的愿望得以实现,星际时代来临。但是在未知的宇宙深处,等待人类的除了宇宙深层的奥秘外,还有数不尽的危险。这一次,人类不再是为探索而战,而是为了生存...

从王子到神豪

从王子到神豪

重生为土豪王子,第一件事做什么?先花它一个亿。性格慵懒的凌洲,重生为王子,本想快乐地享受奢侈生活的他,从第一次提取到一个‘未来片段’开始,从此一发不可收拾。从一名纨绔王子,一步步变成世界顶级神豪。书风格相对轻松一些。...

把她宠坏

把她宠坏

书海阁小说网免费提供作者木羯酱的经典小说把她宠坏最新章节全文阅读服务本站更新及时无弹窗广告欢迎光临wwwshgtw观看小说把她宠坏或把她宠坏,或把她哄乖)...

每日热搜小说推荐