linux c 常常混淆的概念
指针函数 and 函数指针
指针函数是指带指针的函数,即本质是一个函数。函数都有返回类型(假设不返回值,则为无值型),仅仅只是指针函数返回类型是某一类型的指针。
定义格式 类型名 *函数名(函数參数列表)
函数指针是指向函数的指针变量。因而“函数指针”本身首先应是指针变量,仅仅只是该指针变量指向函数。
定义格式
返回值类型 (*指针变量名)(形參列表)
指针数组 and 数组指针
指针数组
数组元素全为指针的数组称为指针数组
定义格式
类型名 *数组标识符[数组元素个数
数组指针
数组指针是指向数组地址的指针,其本质为指针
声明格式
类型名 (*指针变量名)[数组元素个数]
常量指针 and 指针常量
常量指针
常量指针本质是真正,而且这个指针是指向一个常量的指针。(地址能够变,内容不可又一次赋值。内容的改变仅仅能通过改动地址指向而改变)
定义格式
const 类型名 *变量名
类型名 const *变量名
指针常量
指针常量的本质是一个常量。而且使用指针来修饰它。
(地址不可改变。内容能够改变,必须初始化。地址尾随一生)
定义格式
类型名 *const 变量名
PS:* (指针)和 const(常量) 谁在前先读谁 ;*象征着地址。const象征着内容;谁在前面谁就不同意改变。