一、什么是指针?
在编程中,指针是一种变量,它保存一个内存地址,即某个变量对象在计算机内存中的位置。可以将指针看作一个存储看其他变量的的地址变量。通过指针,我们可以直接访问内存中的数据,同还可以对内存中的数据进行操作,而不是通过变量本身进行操作。当指针自加(自减)1时,我们要首先确认指针的类型,因为,指针实际的移动的长度与我们定义指针的类型有关系。
二、什么是地址
在计算机中,地址是用来唯一标识内存中某个特定位置的值。即每个内存单元都有一个唯一的地址。当地址+1或者-1时,相当于向前(向后)移动了一个内存单元(即一个字节)。
三、示例分析
代码如下(示例):
#include <stdio.h>
int main() {
int num = 10; // 定义一个整数变量
int *ptr; // 声明一个指向整数的指针变量
ptr = # // 将指针指向num变量的地址
printf("num的值: %d\n", num);
printf("ptr指向的值: %d\n", *ptr); // 通过解引用指针访问其指向的值
printf("ptr的地址: %p\n", ptr);
printf("ptr加1后的地址: %p\n", ptr+1);
printf("ptr减1后的地址: %p\n", ptr-1);
return 0;
}
运行结果(示例):
num的值: 10
ptr指向的值: 10
ptr的地址: 0x7ffcedb20acc
ptr加1后的地址: 0x7ffcedb20ad0
ptr减1后的地址: 0x7ffcedb20ac8