数组和指针的区别

1、概念

数组:存储连续多个相同类型的数据;

指针:变量,存的是地址

2、赋值

同类型的指针变量可以相互赋值,数组不行,只能一个一个元素的赋值或拷贝

3、存储方式

数组:连续内存空间。

指针:灵活,可以指向任意类型的数据。指向的是地址空间的内存。

4、sizeof

数组的sizeof求的是占用的空间(字节)。

在32位平台下,无论指针的类型是什么,sizeof(指针名)都是4,在64位平台下,无论指针的类型是什么,sizeof(指针名)都是8。

 

区分概念:指针数组,数组指针

1、指针数组:就是数组,元素是指针;

2、数组指针:就是指针,指向一个数组;

int (*arr)[8];
//由于[]的优先级比*高,因此在写数组指针的时候必须将*arr用括号括起来
//arr先和*结合,说明p是一个指针变量
//这句话的意思就是:指针arr指向一个大小为8个整型的数组。

5、传参

作为参数时,数组名退化为常量指针

 

posted @ 2019-09-15 15:58  Austin_anheqiao  阅读(3411)  评论(0编辑  收藏  举报