数组和指针的区别和联系?

来源:互联网 发布:天涯明月刀ol捏脸数据 编辑:程序博客网 时间:2024/05/17 01:04
1:数组名代表一个静态地址,它指向数组元素的首地址,不可随意更改。
  而指针变量指向一个变量或一块内存的地址单元。可以改变指向。
2:在使用sizeof()中,sizeof(数组名)代表整个数组的所有字节的和,而sizeof(指针)的长度是由地址总线长度确定。
3:数组在内存分配时是一连串的空间分配,而指针只是分配其指针大小,用到时,改变指向。
4:当把数组当成函数参数传递时,这时,数组会退化成一个指针,并指向首元素地址。
5: 在二维数组里,数组名表示一个指向一维数组的指针(二维数组可以看成一维数组的扩充)这时,*(数组名+数字(正整数)代表打开了访问一维数组的开关,*(*(数组名+数字(正整数)+正整数)
    代表了一维数组里面元素的开关。
6:定义一个数组:int a[10];如果要访问里面的一个元素,则用a[小于9的正整数]可以访问,也可以用*(a+小于的正整数)表示,其实编译器把[]解释成了后者的情况。

原创粉丝点击