易百教程

11、指针上允许哪些操作?

以下是可以对指针执行的操作:

  • 递增或递减指针:递增指针意味着我们可以将指针递增它所指向的数据类型的大小。

增量指针有两种类型:

1、预自增指针:预自增运算符将操作数加1,表达式的值成为自增后的结果值。 假设 ptr 是一个指针,那么预增量指针表示为 ++ptr
让我们通过一个例子来理解这一点:

#include <iostream>  
using namespace std;  
int main()  
{  
    int a[5]={1,2,3,4,5};  
    int *ptr;  
    ptr=&a[0];  
    cout<<"Value of *ptr is : "<<*ptr<<"\n";  
    cout<<"Value of *++ptr : "<<*++ptr;  
    return 0;  
}

运行结果如下:

Value of *ptr is : 1
Value of *++ptr : 2

2. 后自增指针:后自增运算符将操作数加 1,但表达式的值将是操作数的递增值之前的操作数的值。 假设 ptr 是一个指针,那么后增量指针表示为 ptr++

让我们通过一个例子来理解这一点:

#include <iostream>  
using namespace std;  
int main()  
{  
    int a[5]={1,2,3,4,5};  
    int *ptr;  
    ptr=&a[0];  
    cout<<"Value of *ptr is : "<<*ptr<<"\n";  
    cout<<"Value of *ptr++ : "<<*ptr++;  
    return 0;  
}

运行结果如下:

Value of *ptr is : 1
Value of *ptr++ : 1

从另一个指针中减去一个指针:当两个指向数组成员的指针相减时,返回两个成员之间存在的元素数。