指针专题一

<指针的基本用法>

笔记

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

继续学习

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

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

开始学习
加入课程
Get黑科技,炫酷到没朋友 !
3400 位同学正在学习! 查看详情

郁金香

1

回答

最后一个程序

C语言

小美回复:

这个问题,需要对着代码来讲解了,您联系首页的在线答疑,老师一对一给您讲解,祝学习愉快。

AlphaSheep

1

回答

&(a+1)和 &p的 区别

韩hyr回复:

a+1表示的就是地址,a是数组名,是指针常量,表示其数组首地址;p是指针变量,定义时分配地址,同时存储的值是地址,可以随时指明要指向的地址;而&p表明要获取的是p的地址

阿K

1

回答

行指针和二级指针到底有什么区别和联系呢?

杨老师回复:

行指针是数组指针,指向的是二维数组的地址,二级指针指向的是一级指针的地址,对于指针是我们c语言的难点,如果自己理解有困难,可以联系在线答疑老师哦!

睡觉去也

1

回答

a[1][1]不是9吧?

二狗回复:

就是  9  孩子  指针起始位置 你没弄明白啊

眼前一道光

1

回答

请老师批改作业

小美回复:

作业已经全部批改,同学加油!

大好时光

5

回答

MAKERU1496416322

2

回答

int a[] = {1,2,3,4,5,6}; int *p = a,b;   b = ++(*++p);问执行后b是多少?为什么?

答疑讲师回复:

b = 3,因为(*++p)之后取到a数组里面第二个元素,2,然后++2则为3

ZXVIP000563

2

回答

*++p和*p++的区别

答疑讲师回复:

*++p是将p向后偏移一个数据类型的长度之后再取其地址里面的值
*p++是取p地址里面的值然后再向后偏移,但是注意运算的顺序是*(p++)

ZXVIP000563

1

回答

++p和p++的区别是什么

答疑讲师回复:

按照结果来讲都是将P向后偏移了一个数据类型的长度,但是在语句中的话,++p为偏移后引用p的地址,p++为先引用p的地址然后再++

XAQ170110007

1

回答

*p++和p++有什么区别?


答疑讲师回复:

*p++是 取出p指向地址的值然后将p向后移动一个数据类型的长度。(但是注意是先++,后*,因为p++,所以p参与完*后才有偏移动作)
p++仅仅是向后偏移一个数据类型的长度,不做取值动作

CDQ091000020

1

回答

老师好,你说数组名是地址常量那么它存放在哪里呢?是栈吗

答疑讲师回复:

数组名称 其实就是符号表中的一个符号 程序编译完成之后就不存在 会被系统分配的一个地址代替,所以形象地称为地址常量

ZXVIP000163

1

回答

为什么那道题两不同类型的指针数组所占的内存空间都是12?

答疑老师回复:

首先任何类型的指针都是四个字节长度,因为指针里面存放的就是地址。
那么指针数组,每个数组成员都是指针,所以不同类型的指针数组在成员数目一样的话他们是相同的。(类型主要是声明指针指向数据的类型)

济南中心海老师

1

回答

这节课的题目确实不太懂。p2=k为什么不行?&*p又为什么=p

答疑讲师回复:

int *p = &x;译为  定义一个整形指针变量P,P里面存放着X的地址,此时p = &x;
*p译为对p里存放的地址取值,也就是*p = x;
&(*p) 根据上面的等式可以转换为 &(*p) = &x = p。

p2 = k; 首先p2是一个指针变量,它里面存放的应该是一个地址;而k是一个整型变量,值为2, 将2赋值给指针变量p2当然是不可以的。

我就是我

1

回答

第二题C选项也应该是对的吧

我就是我回复:

我知道了,一级指针和目标变量有关,int:4个字节;char:1个字节。

华清阿进

3

回答

答案应该是3?

星宿回复:

你好,我想问一下,你觉得学习了嵌入式的课程,有用没有呢?

张亚斌

1

回答

%p表示什么意思

答疑老师回复:

表示以16进制打印指针的值,也就是地址。

BJQ061000033

1

回答

指针运算第二题

答疑老师回复:

比方说
int a[5]={1,2,3,4,5};
int *p = a;
++(*++p)则是先将指针p自增1,(此时指向第二个元素),然后*取出该值,然后通过++将该值自增1,得出结果b=3.

baoxiangwang92

1

回答

指针是否可操作变量数值

答疑老师回复:

可以的,首先指针需要初始化。

WHQ073000042

1

回答

数组名a不就是数组首地址常量吗

答疑老师回复:

数组名a是数组首地址,也就是数组首元素的地址,它的作用域是数组内的元素,a+1表示为a[1];
而&a是这个数组的地址,它的作用域是整个数组,&a+1是可以说是增加了一个数组的长度(可以形象的表示为a[3])

WHQ051000012

1

回答

指针数组名加1,移动多少字节

答疑老师回复:

指针数组:本质是数组,数组元素为指针
无论什么类型的指针都看成是Int型,也就是占四字节,那指针数组名加一,也就是移动了四个字节

集团总部一季久峰

7

回答

指针很重要吗

找团团回复:

C语言的核心就是指针。

上次保存笔记

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

保存 修改