首页 理论教育 讲解指针变量的定义和运算规则及其在软件工程中的应用

讲解指针变量的定义和运算规则及其在软件工程中的应用

时间:2023-10-23 理论教育 版权反馈
【摘要】:指针变量的运算,自然就是地址的运算,以便从地址中存取其内容(数据)。指向前面元素的指针变量小于指向后面元素的指针变量。指针变量的定义或声明。而在C语言中,指针变量是非常重要的。针对高可靠性应用类的程序编程,尽可能不要用指针变量。指针会带来内存的安全问题,很多时候,在指针变量参与多次运算后,程序员搞不清指针是否指向内存外的地址,从而可能会导致软件崩溃。

讲解指针变量的定义和运算规则及其在软件工程中的应用

指针是指向一个变量地址。指针就是地址,地址就是内存单元的编号。指针变量的范围是内存的非零地址和最大地址。

指针变量的运算,自然就是地址的运算,以便从地址中存取其内容(数据)。具体如下:

指针变量加/减一个整数:如果p是指针变量,那么

p++,表示指针加1,即指向下一个地址。

同样,p--,表示指针减1,即指向上一个地址。

p+i,这里i是一个整数。即从当前地址,再向下面数i个内存单元的地址。

在C语言与C++语言中规定,一个指针变量加/减一个整数是将该指针变量的原值(一个地址)和它指向的变量所占用的内存单元字节数相加或相减。这样就保证了p+i指向p下面的第i个元素。

指针变量赋值:可以将一个变量或一个函数的入口地址赋值给相应的指针变量。

例如,假设p是指针变量,那么

p=&a;(a是一个整型变量,p是其存储地址)

p,q是两个指针变量,则可以有p=q;

指针变量相减:如果两个指针变量指向同一个数组的元素,则两个指针变量之差是两个指针之间的元素个数。(www.xing528.com)

注意:指针变量相加无实际意义。

指针变量比较:如果两个指针变量指向同一个类型数据的元素,则可以进行比较。指向前面元素的指针变量小于指向后面元素的指针变量。

指针变量的定义或声明。变量都是需要定义的,指针变量也需要定义,且要区别于其他变量的定义。例如,在C语言中

定义一个指针变量,表达为

int *p;

表示p是一个指向整型数的指针变量。

而一个整型变量的定义是

int q;

表示q是一个整型变量。

一般的编程语言中不含指针变量。而在C语言中,指针变量是非常重要的。因为C语言常常用于系统软件编程,用指针变量可以方便地直接指向特定的地址。这对于内存操作是十分方便的,也有利于编写与计算机地址相关的复杂程序。

针对高可靠性应用类的程序编程,尽可能不要用指针变量。指针会带来内存的安全问题,很多时候,在指针变量参与多次运算后,程序员搞不清指针是否指向内存外的地址,从而可能会导致软件崩溃

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈