指针和数组

这篇主要区分数组和指针,其他的之后会总结。

为什么要有指针?

便于寻址

(指针变量是变量,指针是地址)

一级指针:

指针是用来存放地址的,指针的大小在32为平台下是4个字节,在64为平台下是8个字节。

二级指针:

指针变量也是变量,也就有地址,存放指针变量地址的叫二级指针。

指针和数组:

数组:除了sizeof(arr)和&arr中的arr代表整个数组地址,其他的数组名都表示的是数组首元素的地址。

例如:

int arr[5];

int *p=arr;//此时p存放的是数组首元素的地址。

指针数组是一个存放指针的数组。

例如:int* arr[5]  就是一个有五个元素的数组,且每个元素是一个整形指针。

指针和数组