一、概念
指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。
二、运算
假设 ptr 是一个指向地址 1000 的整型指针,是一个 32 位的整数,让我们对该指针执行下列的算术运算:
ptr++
在执行完上述的运算之后,ptr 将指向位置 1004,因为 ptr 每增加一次,它都将指向下一个整数位置,即当前位置往后移 4 个字节。这个运算会在不影响内存位置中实际值的情况下,移动指针到下一个内存位置。如果 ptr 指向一个地址为 1000 的字符,上面的运算会导致指针指向位置 1001,因为下一个字符位置是在 1001。
三、空指针
赋为 NULL 值的指针被称为空指针。 NULL 指针是一个定义在标准库中的值为零的常量。即执行
int *ptr = NULL;
则ptr = 0。
我们喜欢在程序中使用指针代替数组,因为变量指针可以递增,而数组不能递增,因为数组是一个常量指针。
原文:https://www.cnblogs.com/Mars-0603/p/14293788.html