使用指针变量需注意问题
发表:2023-08-29 12:00:45 阅读:66

电子资讯】使用指针变量需注意问题

在使用指针变量时,要注意以下几个问题:

① 指针变量指向一个数组.在使用指针变量时可能会指到数组之外,也就是越界。如定义一个数组x[5],在使用指针变量时,没有检查数组越界从而误使指针为(p+5),也就是指向并不存在的数组元素x[5],但编译器并没有报错,这样在程序运行时可能会出现无法预料的错误。

②指针变量可以使本身的值改变,如p++使P值不断改变,分别指向数组中的不同元素。而使用x++是不行的,因为X是数组名,它是数组的首地址,是常量,不能用自加或自减号,在数组定义时就已经有编译系统分配好。

③在使用指针变量的自加(++)和自减(一一)运算时要小心,很容易弄错,在编程时应该引起足够的注意。如果有下面程序:

knt xLSJ; ’

int*P=&X[o];

 

>(*p)++表示P所指向的元素加1,而不是指针加1。如果P—X,则执行(*p)++相当

于xEo]++

>*(p++)和*(++p)意义不同,前者是先取*P的值,然后p=p q-1;后者是先P—p+1,再取*P的值

>执行*p++,由于自增运算符++和*同优先级,是自右而左的结合方向,因此它等价于

*(p++),作用是先得到P指向的变量的值(即*p),然后p—p q-1

>执行p++(或p—p+1)后,使P指向下一元素,即P指向x[1],则*P就等于x[1]的值

 

电子街更多推荐

指针变量运算

数组指针和指向数组的指针变量

通过指针引用数组元素