c语言拾遗3

来源:互联网 发布:单片机应用系统设计 编辑:程序博客网 时间:2024/05/16 19:29

  查看下面的例子

 

指针的大小永远为4字节

先说错误 *ptr ++ 明显是一个错误的表示,因为ptr++的下一位虽然是空,但是无地址

 

当然一般指针数组一般情况下赋值约定是最后一个字符设为空,记住是空 不是NULL,将指针指向NULL会出现不可预料的事情

<编程经验:当我们在循环的时候,我们的自加函数最后永远会等于临界条件,只要不是无限循环,那么对于指针来说,就会出现异常,如果处理不好!因为NULL是不在范围内的>

数组本身就一类指针,指向数组的指针就被成为2维指针,那么2维指针的有点在那里?

我是这样分析的,计算机是由数据组成的,数据又分为2种,一种是单纯数据,一种是地址,当然还有中间一类容器变量;一般情况下,我们是通过地址->变量->数据,当然也有直接地址->数据的,但是这个时候地址必须取*,或者数据就是一个地址,真实数据是需要空间来存储的,存储的话又涉及到寻址,因此指针的出现可以解决这一点,指针只占用4字节空间,对于连续的空间访问,他的作用就产生了,通过对该指针的offset来访问相邻空间,这样节省了空间又节约了寻址;