学习Nisy作者c语言教程笔记3
视频3:申请连续空间及寻址和判断分支
时长:1:46:06
学习感悟(个人):
1.C语言这东西看到第3个视频,从Nisy这种教学来看,是很能理解其中的道理的,因为是倒过来推出来的!慢慢分析出来的东西!很具有逻辑关系!
2.尤其对连续不断的线性空间的内存模型来讲,C语言真的很灵活!虽然没有用到指针的概念,但是很灵活!!数据的长度是可以随意取的,这就导致存在一个越界问题,根据我的经验,只有vs2019这种微软的编译器会有检测边界功能(没有实际验证过),其他编译器没有检测是否越界的功能,这就导致C语言的不安全,也很强大之处!
3.其中对数组的分析很精彩!,为什么数组的名字的地址?为什么数组是从0开始的?还有数组的越界等问题,都形象的解释过!很精彩。
4.从数据类型的变量来讲,一个数据的变量名字代表的就是这个数据的值,而不是数据的地址,但是在数组当中,如果数组名字代表数据的值,就存在歧义!你不知道取多大的数据长度,因为数组是连续不断的线性空间。所以,可以推出数组名字代码的是数组的地址。
5.从第4点推出,数组的第一个元素的地址,跟数组的名字代表的地址,在值上是相同的!!所以元素及数组应该是从0上开始取,知道了地址,取对应数据长度的值!!!
6.正数的存取与负数的存取,负数:正数取反加一。
为什么这样?正数+负数=0,所以可以来表示负数!只有正数取反加一!
7.最后视频的结尾求三角形的周长!很巧妙的编程思路!用一个空间来充当标志位,只要不符合条件就是1,符合条件就是1,最后求出周长,这个思路很符合计算机的原理!!!标志位!!!
8.判断分支,if…else…
且 &&
或||