思维导图:
基本概念
什么是指针
简单来说,指针就是一种保存变量地址的变量。
使用指针的优点
指针的使用非常广泛,因为使用指针可以在某一程度上面极大的提升效率,例如:一些复杂的数据结构需要指针来构建,如链表、二叉树等等,作为形参的结构体指针(减少了复制结构体数据的运算量)等等。总之,使用指针可以让你的代码更高效。
指针的简单使用
指针的定义格式、类型
因指针实质就是一个变量,所以它跟普通变量是没有太大的区别的。
那该如何声明并初始化一个指针呢?
先来看一下格式:
type *var-name;
type
:指针的基类型var-name
:指针名称(合法的标识符)*
:与算数运算中的乘法运算符一样,在这里表示声明这个变量是个指针
下面我们先认识一下基本的概念:
int *p; // 声明一个指向int类型的指针变量
char *p; // 声明一个指向char类型的指针变量
// 其他的类型就是依次类推了,不过还要简单介绍的是指针与数组的结合
/*
因[]优先级 > *优先级,所以arr先与[]结合变成一个数组,再与*结合变成一个指针,名为指针数组
那么指针数组又是什么呢?
指针数组,是一种数组中存放着指针变量的数组。
*/
int *arr[10];
/*
先执行括号中的表达式,形成一个指针,然后再与[]结合形成一个数组,名为指数组指针
那么数组指针又是个什么鬼?