数组和指针的区别
1、概念
数组:存储连续多个相同类型的数据;
指针:变量,存的是地址
2、赋值
同类型的指针变量可以相互赋值,数组不行,只能一个一个元素的赋值或拷贝
3、存储方式
数组:连续内存空间。
指针:灵活,可以指向任意类型的数据。指向的是地址空间的内存。
4、sizeof
数组的sizeof求的是占用的空间(字节)。
在32位平台下,无论指针的类型是什么,sizeof(指针名)都是4,在64位平台下,无论指针的类型是什么,sizeof(指针名)都是8。
区分概念:指针数组,数组指针
1、指针数组:就是数组,元素是指针;
2、数组指针:就是指针,指向一个数组;
int (*arr)[8]; //由于[]的优先级比*高,因此在写数组指针的时候必须将*arr用括号括起来 //arr先和*结合,说明p是一个指针变量 //这句话的意思就是:指针arr指向一个大小为8个整型的数组。
5、传参
作为参数时,数组名退化为常量指针