指针是一个变量,其值是另一个变量的地址,即内存位置的直接地址。与任何变量或常量一样,在使用指针存储任何变量地址之前,必须声明指针。
请考虑以下陈述 -
int qty = 179;
变量在内存中的表示如下
您可以按如下方式声明指针 −
Int *p;
这意味着“p”是一个指针变量,它保存另一个整数变量的地址。
地址运算符 (&) 用于初始化指针变量。
例如
int qty = 175;
int *p;
p= &qty;
要访问变量的值,请使用间接运算符 (*)。
例如
“*”可以被视为地址值。
这两个语句等价于以下语句 -
p = &qty;
n = *p; n =qty
不同的指针操作
C语言中的指针操作解释如下 -
赋值 − 我们可以通过使用&(地址运算符)将地址分配给指针。
值查找 − 它只不过是取消引用,其中 * 运算符将存储在指向位置中的值给出。
获取指针地址 - 就像其他变量一样,指针变量有一个地址和一个值,在地址运算符的帮助下,我们可以找到指针本身是否被存储。
向指针添加整数 − 我们可以使用 + 运算符将整数添加到指针或指向整数的指针。在这里,在这两种情况下,int 都与指向类型的字节数相乘,并将结果添加到原始地址中。
递增指针 - 它是一个数组元素,用于移动到数组的下一个元素。
从指针中减去一个整数 − 我们使用 –(减号)运算符从指针中减去一个整数。将整数乘以指向类型的字节数,然后从原始地址中减去结果。
递减指针 − 递减指针,指向上一个位置而不是之前,我们可以同时使用前缀和后缀形式作为递减运算符。
减法 - 我们可以找到两个指针的差异。通常,我们过去常常找出元素的距离。
比较 − 我们将使用关系运算符来比较两个指针的值。
例
下面给出的是演示 C 语言中指针操作功能的程序 -
#include<stdio.h>
main ( ){
int x,y;
//Declaring a pointer
int *p;
clrscr ( );
x= 10;
//Assigning value to a pointer
p = &x;
y= *p;
printf ("Value of x = %d", x);
printf ("x is stored at address %u", &x);
printf ("Value of x using pointer = %d", *p);
printf ("address of x using pointer = %u", p);
printf (“value of x in y = %d", y);
*p = 25;
printf ("now x = %d", x)
getch ( );
}
输出
当您执行上述程序时,您将获得以下输出
Value of x = 10
x is stored at address = 5000
Address of x using pointer = 10
Address of x using pointer = 5000
Value of x in y = 10
Now x = 25