龙岗网站制作资讯广州百度推广开户
C++指针和数组之间的区别
一、数组和指针定义
数组:数组是用于存储多个相同数据类型的有序集合。
指针:指针是一个变量,但是他和普通变量不一样,它存放的是其他变量在内存中的地址。
**二、赋值**数组:只能一个一个元素的赋值或者拷贝。指针:指针变量可以相互赋值。**三、表示范围的不同**数组的有效范围就是其空间的范围,数组名使用下标引用元素,不能指向别的数组。指针:可以指向任何地址,但是不能随意访问,必须依附在变量的有效范围之内。四、sizeof数组:数组所占内存空间的内存: sizeof(数组名)数组大小计算:sizeof(数组名) / sizeof(数组[ 0 ])指针:在32位平台下,无论指针的数据类型是什么,sizeof(指针名)都是4.在64位平台下,无论指针的数据类型是什么,sizeof(指针名)都是8.
二、指针数组和数组指针
**指针数组**int * arr[2]; //这是定义了有两个元素的指针数组,每个元素都是一个指针变量。int a=11;int b=12;*arr[0]=&a;*arr[1]=&b; **数组指针:**int (*p)[3]; //定义了一个指向三个成员的数组指针。访问元素的方式有两种分别是:int A[4][3]={{173,158,166},{168,155,171},{163,164,165},{163,164,172}};p=&A[4];1.数组法: (*p)[j]2.指针法: *((*p)+j)