字符指针
char* p = "abcdef";
本质不是把abcdef这个字符放到p指针变量里,而是把abcdef首字符的地址放到p中,若被const修饰的类型不能被修改。
指针数组
用来存放指针的数组
int* parr[4];
存放整形指针的数组,存放的指针类型都是int*。
实例:
int main()
{
int a = 10;
int b = 20;
int c = 30;
int d = 40;
int* arr[4] = { &a,&b,&c,&d };
return 0;
}
数组指针
指向数组的指针,存放数组的地址。
&arr——数组的地址,不是首元素地址。
形式:
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
int (*p)[10] = &arr;
int:数组类型 *p:数组指针 [10]:指向数组 int(*)[10]:p的类型
[]的优先级高于*
实例:
char* arr[5];
char* (*Pa)[5] = &arr;//char*:pa指向的数组元素类型是char* *:说明pa是指针 pa:指针名 [5]:pa指向的数组是5个元素的