最近在学数据结构,现在是在指针这一部分。记得大学学c语音时,自我感觉学的还可以,现在看来,当时真的是太天真,太没见识了。当时指针这一块儿没有深入的学,老师也没有要求,如果当时学的肯定学不会。一是因为没有好的老师,二是自己也手懒,不愿亲自打代码。也许这就是眼高手低的表现。
现在趁着网络教学视频丰富,可以有很好的老师来讲解,再者自己也意识到亲自动手的重要性,所以,好好学吧。
指针,就是创建的变量的地址,(或者也是函数的?),内存中有32根线来对内存中的存储单元进行编号,就像门牌号一样。
32根线,每一个线有两种状态,可以表示一个32位的二进制数,每八位二进制数称为一个字节,因此,这32根线对应四个字节。(大概是这样理解吧,我是这样认为的)
在c语音中,建立的变量名称,经过编译后,不会反映在机器码,而是成为了地址。即可以认为变量名称就是地址。早期好像也是直接用地址来建立变量的。
而指针变量也是一个变量,只不过是专门存放指针的,即地址。由于地址是占4个字节,所以指针变量都是占四个字节大小。其余,像整型,是四个字节,字符型是两个字节。即分别可以由4 * 8 = 32 位的二进制,和 2* 8 = 16 位的二进制数来表示(编号)。
网友评论