指针在32位中大小为4 64位中为8
两个不同数组的值是不一样的
指针的为常量字符串不能修改,在内存中只存了一份 所以指的是同一个地址
修改p1 p2和字符串没关系
int* parr[] 存放整形指针的数组 char*pch[] 存放字符型指针的数组
parr【i】是每个数组的首元素 +j为后面元素的地址
整形指针:可以存放整形的地址
字形指针:可以存放字符的地址
数组指针:可以存放数组的地址
arr--首元素的地址 &arr【0】--首元素地址 &arr--数组的地址
int arr[5]; //arr是一个5个元素的整形数组
int *parr1[10]; //parr1是一个数组,数组有10个元素,每个元素的类型是 int*,parr1是指针数组
int (*parr2)[10]; //parr2是一个指针,该指针指向一个数组,数组有10个元素,每个元素类型是int,parr2是数组指针
int (*parr3[10])[5]; //parr3是一个数组,该数组有十个元素,每个元素是一个数组指针,该数组指针指向的数组有5个元素,每个元素是int。
一维数组传参
二维数组传参
函数指针--存放函数地址的一个指针
(*p)——代表是指针 (*p)()第二个括号代表这是个函数
(char*)代表函数类型是char型 返回值void
下图是否解引用都可
函数指针数组
函数指针数组可用作转移表、比如可以实现简单的计算器
回调函数
指通过函数指针调用的函数,指函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其指向的函数时,我们就说这是回调函数。回调函数不是由该函数方直接调用,而是在条件下由另一方调用
在test中通过p调用
指向函数指针数组的指针(了解概念)