【C语言指针】三分钟理解C指针【动画展示】

作者: 萝卜不吃小鱼分类: 校园学习 发布时间: 2022-06-03 15:35:37 浏览:122045 次

【C语言指针】三分钟理解C指针【动画展示】

李李李健忘_:
讲得好好,up能不能讲一下函数指针,指针传参这些

【回复】会的,先把期末突袭完,指针的讲解挺多,我需要时间去思考怎样做出差异化[喜极而泣]
【回复】回复 @有点难度哈 :你别管,我觉得好就行[星星眼]
小黑快更新:
个人理解,把变量也看成一个指向内存指针,就会好理解很多。 比如,int a = 1; 首先,指针存放的是内存地址。a在汇编层面是不存在的,会变成一个内存地址。 从汇编层面来说,a这个变量就具有了指针的部分特点(指向某一块内存)。 至于最前面的int,个人觉得,其实可以看成长度描述符,因为指针只能指向一个地址。 a在内存里面占4字节,假设其实地址为0,那么a的完整地址就是(0, 1, 2, 3)。 【完整地址】这个概念,是我为了描述方便而自创的,因为我学过的知识里面,没有与之对应的名词。 那a为什么有完整地址?前面假设a的歧视地址为0,如果a只占用0这个空间。那么b就会占用1。 这时候,a和b占用的内存空间就会重叠,这对于程序而言是灾难性的。所以,a需要占用多个地址,但是这在程序里面无法表示出来。 现在解决这个问题采用的方案就是,加一个长度描述符。比如a指向0,但是长度为4,用这种方式就表达了a占据4个字节。

【回复】可以这样理解,实际上指针是c下探的原因,所以想要真正理解指针,不能从语言这一层面出发,要从汇编入手,这样三分钟绝对不够,也不适合大多数人入门。
【回复】用一个c语言的例子来解释,现在要创建两个字符串,但是这两个字符串在内存中必须相邻。“字符串”在这里使用char数组来表示。 这里强制让a指针指向内存地址为0的空间,这里只是为了说明问题,我知道编译不通过。 char *a = 0x0; 对a指向内存进行赋值。 a【0】 = "a"; a【1】 = "b"; a【2】 = "\0"; 创建一个b,让他的地址等于a的地址加一,就是跟在a的屁股后面。 char *b = &a + 1; b【0】 = "a"; 如果这时候输出a,那么输出的字符串就是 "aa",因为a和b指向空间发生了重叠!
【回复】小白在这里看得云里雾里神仙打架
萝卜不吃小鱼:
[doge]随便录的,功夫主要是在做ppt,看的人多的话,我就重录置一下视频

【回复】破万已重置,录音条件实在没办法,添加了字幕,更正了地址重复的错误
【回复】强啊up,刚高考完的都听懂了。
【回复】居然是PPT、我以为是PR或AE
空尼几哇阿里嘎多:
当时学指针,理解结构指针,指向数组的指针,指针数组,二级指针花了不少时间[笑哭]

【回复】我感觉很多人连基础都没理解,就深入,不懵逼才怪
【回复】回复 @萝卜不吃小鱼 : 太对了,c语言对大多数人来说没有基础很难理解很多语言上的知识
靠谱的成年路痴:
动画是自己做的吗?这么棒的动画配音却这么……,如果up以后想继续做类似的视频我建议买个麦。

【回复】是自己做的,配音确实随意了,有空重置下😂
喔是胖子:
int的时候内存就创建了空间,这个空间是4个字节,一个字节有一个地址,把首字节地址当成这4个字节的空间地址。然后通过取地址操作,把地址取出来放到对应类型的指针变量中,就是int*定义的指针变量当中。

小风子FW:
对于指针,个人认为开始觉得难学的一个原因是指针变量命名的写法。 把int* p写成 int *p 这样理解起来会容易一些:只是用地址时就用p(p表示地址),用地址里面的数据就用*p(*p 表示用*符号调用p地址的数据)

优尔达:
指针难懂是因为这个说法 字面上没法直接理解 ,而是要翻译成:“存着内存地址的变量” 就好理解了

_阿宁学长:
视频做的很好,有时候发音不准,希望你可以带一下字幕,那种自动识别的也行[脱单doge][脱单doge]

追逐太阳的兔子吖:
把操作系统内存分配那部分拿出来就清楚了[doge]

【回复】[笑哭]知识就像高山的滚石,一旦开始挖,就再也停不下来了
莫比弗斯:
Up视频做的很好,就是声音小了点。还有可以讲讲指针和数组的关系吗,malloc函数开辟数组空间给指针,那里不是很明白,感谢

【回复】安排上了,等我考完试[喜极而泣]
大熊猫爱采茶:
up才大一就能做出这种有内容有技术的教学视频了,前途无量[脱单doge]

友善的肥羊:
指针和指针变量混了,然后就是宿舍那个人真的很吵[疑惑]

【回复】动画做的可以,但概念是真的混的很,不利于别人观看
【回复】回复 @萝卜不吃小鱼 :视频中你说∶"我们说指针一般代指指针变量"! p的类型为int*型,p才是指针变量,而指针是a/b在内存中的地址是a和b在内存中的编号,*p是指向a/b的值,我没看到弹幕,建议还是修改一下视频,这样会让其他新人看的云里雾里
【回复】你是认为哪里混淆了?视频里的说明应该没问题了吧,反倒是指针就是地址的解释有问题,指针不是地址,是类似int,char的c语言内置数据类型
星星住在对岸啊:
老师可以再录几期吗 终于听懂了[大哭][大哭][大哭]

【回复】回复 @星星住在对岸啊 : 已收到,我会尽力的。

计算机 学习 C++ 视频教程 C语言 编程 教程

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!