int *p=(int *)malloc(sizeof(int)*5); 这句话表示分配了一个5个int类型的控件,并把首指针交给p
然后p就可以使用 下标p[i] 来访问元素,也可以使用*(p+i) 来访问。
比如,数组名就是一串连续地址的头指针,
int a [10]; 当然也可以使用 *(a+i) 来访问。
数组和指针本身是有很大联系的,
p本身是被赋予了指向一个int类型(通常4字节)大小内存的地址的能力,而p+1则是指向了p向高地址偏移一个int(根据指针p的类型而定)大小的地址,对地址p解引用(即*p)则是取这个地址上所保存的值。然后解释下p[i]的意思,p[i]等价于*(p+i)