1、指针的概念
指针的定义:指针是一种数据类型,它用于存储变量的地址。通过指针,可以间接访问变量的值。
指针的作用:指针提供了一种间接操作内存的方式,使得程序可以更加灵活地处理数据,例如动态分配内存、传递函数参数等。
指针与地址的关系:指针变量的值是变量的地址,通过指针可以访问到该地址所存储的变量的值。
2、指针变量
指针变量的定义:指针变量是一种特殊的变量,它存储的是指针(即地址)。定义指针变量的一般形式为:基类型 *指针变量名。
(1)指针变量前的 * 表示该变量的类型为指针型变量。
(2)在定义指针变量时必须指定基类型。
指针变量的初始化:可以在定义指针变量时进行初始化,将其初始化为某个变量的地址或NULL
。
指针变量的操作:可以通过指针变量来访问其所指向的变量的值,也可以通过指针变量来修改其所指向的变量的值。
方式:(1):通过指针变量中的值到内存空间中定位。
(2):从定义处开始向后偏移sizeof(基类型)。
(3):将偏移好的那部分内存空间当作是一个基类型变量来看。
指针变量的引用:指针变量中只能存放地址(指针),不要将一个整数(或任何其他非地址类型的数据)赋给一个指针变量。
两个有关的运算符:(1)&:取地址运算符
(2)*:指针运算符,取其指向的内容。
指针变量作为函数参数:将一个变量的地址传送到另一个函数中,在被调函数中修改主调函数的值
3、指针与数组
数组名与指针的关系:在C语言中,数组名可以看作是一个指针,它指向数组的首元素。
通过指针访问数组元素:可以使用指针来遍历数组元素,通过指针的移动来访问不同位置的数组元素。
注:(1)可以通过改变指针变量的值指向不同的元素
(2)要注意指针变量的当前值
(3)注意指针变量的运算
用数组名作为函数参数:如果有一个实参数组,要想在函数中改变数组中元素的值,实参与形参的对应关系有以下:
(1)形参与实参都用数组名
(2)实参用数组名,形参用指针变量
(3)实参形参都用指针变量
(4)实参为指针变量,形参为数组名