C指针小结
在C语言的学习中,指针,数组,函数等被我们所熟知,但是真正碰到或者真正用到时,难免有些混淆。下面重点聊一下指针: 指针:通俗讲是内存单元的地址,是个常量。换句话说是地址。 指针变量:在C语言中允许一个变量来存放指针,这个变量就是指针变量。是个变量。换句话说是取值为地址的变量。(但是在平时大家统称指针变量为指针,这个要分清) 指针变量的类型说明: 类型说明符* 变量名;初始化的两种方法:int* p = &a或者int* p;p = &a;( 指针定义时要初始化,这是一个好习惯) 指针变量的运算: (1) 取地址运算符&:单目运算,从右—>左,功能:取变量的地址; (2)取内容运算符*:单目运算,从右—>左,功能:用来表示指针变量所指的变量。(在类型说明中的*是类型说明符) 接下来,就来点绕口的数组指针,指针数组,函数指针,指针函数的区别: (1)数组指针:全称是数组指针变量,指向数组的指针变量成为数组指针变量,是个变量。一般类型:类型说明符* 指针名 (2)指针数组:是一组有序的指针的集合。一般类型:类型说明符*数组名[数组长度]。这与二维数组指针变量的形式相同但是表示的意义不同。 (3)函数指针:全称函数指针变量,一个函数总是占用一段连续的内存区,而函数名就是该内存的首地址,把这个地址赋给一个变量就是函数指针变量。 一般形式:类型说明符(*指针变量名)();