C 指针是一个用数值表示的地址。因此,您可以对指针执行算术运算。可以对指针进行四种算术运算:++、--、+、-。
假设 ptr 是一个指向地址 0x1000 的整型指针,是一个 32 位的整数,让我们对该指针执行下列的算术运算:
ptr++
在执行完上述的运算之后,ptr 将指向位置 0x1004,因为 ptr 每增加一次,它都将指向下一个整数位置,即当前位置往后移 4 字节。这个运算会在不影响内存位置中实际值的情况下,移动指针到下一个内存位置。如果 ptr 指向一个地址为 0x1000 的字符,上面的运算会导致指针指向位置 10x001,因为下一个字符位置是在 0x1001。
为了方便,我们引入步长的概念,步长等于指针所指向的变量的内存大小,步长代表着指针每走一步所跳过的字节数。
下面是一些常用的类型的步长:
//基本数据类型
cout << "基本类型" << endl;
cout << "sizeof(int) " << sizeof(int) <<endl;
cout << "sizeof(short) " << sizeof(short) << endl;
cout << "sizeof(unsigned) " << sizeof(unsigned) << endl;
cout << "sizeof(char) " << sizeof(char) << endl;
co