指针和数组
这篇主要区分数组和指针,其他的之后会总结。
为什么要有指针?
便于寻址
(指针变量是变量,指针是地址)
一级指针:
指针是用来存放地址的,指针的大小在32为平台下是4个字节,在64为平台下是8个字节。
二级指针:
指针变量也是变量,也就有地址,存放指针变量地址的叫二级指针。
指针和数组:
数组:除了sizeof(arr)和&arr中的arr代表整个数组地址,其他的数组名都表示的是数组首元素的地址。
例如:
int arr[5];
int *p=arr;//此时p存放的是数组首元素的地址。
指针数组是一个存放指针的数组。
例如:int* arr[5] 就是一个有五个元素的数组,且每个元素是一个整形指针。