数组与指针关系

来源:互联网 发布:算法基础 打开算法之门 编辑:程序博客网 时间:2024/05/16 10:24

int a[10];

则a等价于 int * const a,所以不能试图修改数组名的值。数组名的值就是数组第一个元素的内存地址单元首地址。这样我们可以通过同类型的指针迭代(++/--)来遍历整个数组,但是不能妄想通过数组名就想达到访问整个数组的目的,除非是带有‘\0’结束符的字符数组。基于此,任何两个数组之间不能直接赋值,即使是同类型数组,必须按元素整个赋值,或者使用内存拷贝函数memcpu().。

二维数组在C++/C中都是以“行序优先”来存储元素的,而在Fortran中则是以“列序优先”来存储的。



字符数组动态创建方法:char *p = new char[1025];//分配空间 delete []p;//删除数组空间

多维数组:一个多维数组在语义上并不等价于一个指向其元素类型的指针,相反它等价于一个“指向数组的指针”。如下所示:



删除动态数组的方法:






原创粉丝点击