C语言中指针的不同操作以及指针的问题是什么?
指针是一个变量,其值是另一个变量的地址,即内存位置的直接地址。像任何变量或常量一样,您必须在使用指针存储任何变量地址之前声明它。
考虑以下语句:
int qty = 179;
变量在内存中的表示如下:

您可以如下声明指针:
Int *p;
这意味着“p”是一个指针变量,它保存另一个整型变量的地址。
地址运算符 (&) 用于初始化指针变量。
例如:
int qty = 175; int *p; p= &qty;

要访问变量的值,使用间接运算符 (*)。
例如:

‘*’可以被视为地址处的值。
这两个语句等效于以下语句:
p = &qty; n = *p; n =qty
不同的指针操作
C语言中的指针操作解释如下:
赋值 - 我们可以使用 &(地址运算符)将地址赋给指针。
查找值 - 这实际上是解引用,其中 * 运算符给出存储在指向位置的值。
获取指针地址 - 与其他变量一样,指针变量也有地址和值,借助地址运算符,我们可以找到指针本身的存储位置。
将整数加到指针 - 我们可以使用 + 运算符将整数加到指针或指针加到整数。在这里,在这两种情况下,整数都乘以指向类型的字节数,并将结果加到原始地址。
递增指针 - 它是一个数组元素,可以移动到数组的下一个元素。
从指针中减去整数 - 我们使用 –(减号)运算符从指针中减去整数。整数乘以指向类型的字节数,并将结果从原始地址中减去。
递减指针 - 递减指针指向之前的而不是之前的地址,我们可以对递减运算符使用前缀和后缀形式。
减法 - 我们可以找到两个指针的差值。通常,我们用来找出元素的距离。
比较 - 我们将使用关系运算符来比较两个指针的值。
示例
以下是演示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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C编程
C++
C#
MongoDB
MySQL
Javascript
PHP