本文概述
- 为什么我们使用解引用指针?
为什么我们使用解引用指针?由于以下原因,使用了取消引用指针:
- 它可以用来访问或操作存储在指针所指向的存储位置上的数据。
- 应用于取消引用的指针的任何操作都将直接影响它所指向的变量的值。
- 首先,我们声明指针指向的整数变量。
int x =9;
- 现在,我们声明整数指针变量。
int *ptr;
- 声明整数指针变量后,我们将’ x’ 变量的地址存储到指针变量’ ptr’ 。
ptr=&x;
- 我们可以通过以下解引用指针’ ptr’ 来更改’ x’ 变量的值:
*ptr =8;
上一行将’ x’ 变量的值从9更改为8,因为’ ptr’ 指向’ x’ 位置,并且取消引用’ ptr’ ,即* ptr = 8将更新x的值。
让我们结合以上所有步骤:
#include <
stdio.h>
int main()
{
int x=9;
int *ptr;
ptr=&x;
*ptr=8;
printf("value of x is : %d", x);
return 0;
}
输出量
文章图片
让我们考虑另一个例子。
#include <
stdio.h>
int main()
{
int x=4;
int y;
int *ptr;
ptr=&x;
y=*ptr;
*ptr=5;
printf("The value of x is : %d", x);
printf("\n The value of y is : %d", y);
return 0;
}
在上面的代码中:
- 我们声明两个变量“ x”和“ y”,其中“ x”保持为“ 4”值。
- 我们声明一个指针变量“ ptr”。
- 在声明了指针变量之后,我们将’ x’ 变量的地址分配给指针’ ptr’ 。
- 我们知道’ ptr’ 包含’ x’ 变量的地址,因此’ * ptr’ 与’ x’ 相同。
- 我们借助“ ptr” 变量将“ x” 的值分配给“ y” ,即y = * ptr而不是使用“ x” 变量。
文章图片
让我们考虑另一种情况。
#include <
stdio.h>
int main()
{
int a=90;
int *ptr1, *ptr2;
ptr1=&a;
ptr2=&a;
*ptr1=7;
*ptr2=6;
printf("The value of a is : %d", a);
return 0;
}
在上面的代码中:
- 首先,我们声明一个“ a”变量。
- 然后我们声明两个指针,即ptr1和ptr2。
- 两个指针都包含变量“ a”的地址。
- 我们将* 7的值分配给* ptr1,将’ 6’ 的值分配给* ptr2。 “ a”的最终值为“ 6”。
文章图片