C语言教程
C语言控制语句
C语言函数
C语言数组
C语言指针
C语言字符串
C语言数学函数
C语言结构
C语言文件处理
C预处理器

C取消引用指针

我们已经知道"什么是指针" ,所以指针是一个变量,用于存储另一个变量的地址。解引用运算符也称为间接运算符,由(*)表示。将间接操作符(*)与指针变量一起使用时,称为取消引用指针。。当我们取消引用指针时,将返回此指针指向的变量的值。

为什么使用取消引用指针?

使用取消引用指针是出于以下原因:
它可用于访问或操作指针所指向的存储位置中存储的数据。 对取消引用的指针执行的任何操作都将直接影响它所指向的变量的值。
让我们遵循以下步骤取消对指针的引用。
首先,我们声明指针所指向的整数变量。
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;}
输出
C取消引用指针
让我们考虑另一个示例。
#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"变量(即y = * ptr )而不是使用" x"变量将" x"的值分配给" y"。
注意: 根据我们的说法,如果我们更改'x'的值,则'y'的值也将发生变化,因为指针'ptr'持有该地址。 'x'变量。但这不会发生,因为" y"存储值" 5"的本地副本。
输出
C解除引用指针
让我们考虑另一种情况。
#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"。
注意: 如果我们有多个指针指向同一位置,则一个指针所做的更改将与另一指针相同。
输出
C取消引用指针
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4