指针在C语言中的应用是非常多的,而且也是很重要的。
一、什么是指针
指针是一个值为内存地址的变量。就像char类型变量的值为字符,int类型变量的值为整数。
在使用指针的时候,一定会用到这两个符号‘*’和 ‘&’,下面就首先介绍这两个运算符
间接运算符*
这个运算符也被称为解引用运算符,我们通过间接运算符找出存储在指针指向的某个内存中的值。
我们用一个例子来说明
ptr = &bah;
var = *ptr;
假设ptr是一个已经声明好的指针,我们把bah的地址赋给ptr,然后通过间接运算符来取出ptr指向的内存中的值,并且把这个值赋给var。
上面这两条语句和起来就相当于
var = bah;
当*后面跟一个指针名或地址时,*给出存储在指针指向地址上的值
址运算符&如果希望得到一个变量的地址,就需要用到取址运算符。
&nures 表示nures的地址。
二、声明指针
声明指针的时候必须要指定指针指向的变量的类型,因为不同的变量类型占用不同的存储空间,一些指针操作需要知道操作对象的大小。
接下来看一些声明指针的例子
int *pi; //pi是指向int类型变量的指针
char *pc; //pc是指向char类型变量的指针
float *pf; //pf是指向float类型变量的指针
类型说明符表明了指针所指向对象的类型,‘*’表明声明的变量是一个指针。
三、指针的应用
这里通过一个例子来说明
#include <stdio.h>int main()
{int a = 10;int *pi = &a;printf("before change a = %d\n", a);*pi += 10;printf("after change a = %d\n", a);return 0;
}
首先定义一个int类型的变量,并且给这个变量初始化。然后定义一个指向这个变量指针。
*pi += 10;就是将 *pi 加上10 再赋值给 *pi, 这里的操作同样是对a进行的操作。因为 pi是指向a这个变量的,pi中存放的就是a的地址,a的值是10,所以对pi进行操作就是对a进行的操作。
打印出改变之前和改变之后的值,看看其结果。
本篇博客只是简单的介绍了一下指针,与指针有关的详细应用会在以后写出来的。