指针专题一

<指针的基本用法一>

笔记

欲速则不达,建议先完成 的任务!

继续学习

通关时间从学习第1个课程开始计时

9天内通关,可获得赏金100元

开始学习
该课程需要登录后才能观看
3400 位同学正在学习! 查看详情

Usopp

1

回答

指针问题

小灰灰回复:

有代码吗?看看代码的实现,原理上是可行的,但是代码的实现得看看是不是出了问题,阔以多加点打印和返回值的判断,也可以直接在群里@我们的值班老师,继续加油,

MAKERU595993406

1

回答

老师

杨老师回复:

p++;p移动到了a[1]的位置,p[1]相当于*(p+1),p从a[1]的位置,移动了一下,所以是9;a是数组名,是地址常量不能修改,a++ 等价于a = a + 1,把a的值给修改了,所以错误;

2

回答

指针疑问

Malthale回复:

scanf 函数 是在标准库中格式读取标准输入 int scanf (constchar * format[,argument,]) 后面需要的取值的位置,所以应该是指针,而不是int值; 成功返回匹配格式数值数量,失败End of file

newlead

1

回答

这个优先级问题:*是指针运算和++是同一优先级,结合性是自右向左所以才是才先算p++

杨老师回复:

两者优先级相同,按自右至左执行。*P++可看成*(P++),即先执行p++,后执行*p。但由于这里的“++”号是后加加号,所以会在整条语句执行完后再对P自加一。所以最终的实际执行效果等效为:先执行(*P)操作,后P自加。

沅玲赋梅

1

回答

指针该如何学习呢 我是一名零基础的学生

杨老师回复:

  1. 不要让指针难这个概念侵占了你的大脑;

  2. 知道它是什么:我们讲的都是指针变量,和普通变量对比着学习;

  3. 知道它是*什么的:保存地址;

  4. 基本的理解了之后,再继续学习它的差别;

这样循序渐进的学习,先把它分解成小知识点,然后一点一点理解。

过去过不去的

2

回答

指针的问题

韩hyr回复:

*p+1, *p  行向量变成列向量, *p+1 又在列上移动一个单位。

*(p+1), p+1 以行为单位移动一个,*(p+1)取行移动后的变量里的值,这个值是列指针,也就是行向量变成列向量。

黑曼巴

1

回答

指针变量能够比较大小码?

小灰灰回复:

一般不比较指针变量的大小,一般比较的是指针遍历指向的内容的值,因为指针本身是指向一块内存地址的嘛,所以你对地址的比较一般没有什么意义,继续加油

MAKERU145680078

1

回答

二维数组与行指针

杨老师回复:

用一级指针来遍历二维数组,这样得一点一点计算到二维数组的某个位置;用行指针,我们的访问可以像二维数组访问一样来访问。

MAKERU145680078

2

回答

二维数组a[i][j]如何通过sizeof来确定i, j

韩hyr回复:

sizeof(a)就是二维数组申请到的大小至于i和j的大小,需要单独访问行来获取。

個亾丶寂寞

1

回答

老师,48到58不是10吗

吴老师回复:

这里说的是 16进制,  0x58-0x48=0x10 = 十进制的 16

蔡振启

1

回答

行地址

韩hyr回复:

每行的首地址,为了方便理解的话,可以说是每行第一列的首地址。但是这个地址只能访问到行,不能访问到第一列元素。

爱苗苗

1

回答

老师,加快或减慢视频播放速度,多少号能加上??谢谢老师

MAY回复:

同学,你好,这个问题已经解决啦,将APP升级到最新版本就可以了

1900

2

回答

指针的问题,老师讲的超级详细,比我的专业老师好多了。

韩hyr回复:

这里是++(--)运算符的使用,有前加加,和后加加的问题,++a的运算是先a自增,后在运算式子,a++是先运算式子,再自增。结合这里,p的初值是指向a[1],(*--p)后指向了a[0],且改变了数值,这里操作变成了对象是6这个数值,之后是后加加,运算规则,先运算,这里是赋值式子值,结果是6,后加加是数据自增了,但是并没有改变a[0]存储数值。

Hyun

1

回答

p 减完 取出来 为什么5变成6了

杨老师回复:

此问题还需描述的详细点,没有情境老师也没有办法回答哦!

kinvy

1

回答

视频播放速度问题

C语言

存在回复:

这个需求已经在计划中了。请耐心等待哈~~

黑曼巴

5

回答

老师下面两个普通的赋值语句有什么区别?

C语言

黑曼巴回复:

不管他指向哪里,他一定在地址a中

郭晓冲

1

回答

指针的问题

C语言

杨老师回复:

我们每次执行程序,都是现为程序分配内存的,所以每次都有变化。

爱你一万年

1

回答

VMware输出有问题

C语言

Roger回复:

你的机子应该是64位机么?或者你装的vmware里面系统装的是64位的。所以7ffe前面还有00007ffe

爱你一万年

1

回答

虚拟机输出多了7ffe,长度也变成了8?

C语言

Roger回复:

你的机子应该是64位机么?或者你装的vmware里面系统装的是64位的。所以7ffe前面还有00007ffe

朱迪

1

回答

%d

韩hyr回复:

"%d"是表示以十进制形式输出,但是这里需要注意的是scanf函数的参数形式,用man手册参看原函数int scanf(const char *format, ...);参数指针,也就是需要的是数据存储位置的首地址。

朱冰

3

回答

&的疑问

翻译翻译回复:

可以的  因为那个a不仅仅是数组名,它也是这个数组的一个首地址。所以是可以把地址输入到p中的。

上次保存笔记

看见好看好看就很快很快就会看见

保存 修改