指针的 运算 | 为什么指针不能 加/乘/除 指针?|NULL有什么用?|void* 能干什么?指针 详解

指针的运算 详解 [C语言必知必会]

指针的运算

指针加减 常量

请看下面的程序,猜测一下结果:

int main() {
   

	int arr[10] = {
    1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
	int* a = &arr;

	printf("a     = %p\n", a);
	printf("a + 1 = %p\n", a + 1);
	printf("a - 1 = %p\n", a - 1);

}

运行结果:

a     = 00AFF82C
a + 1 = 00AFF830
a - 1 = 00AFF828

可以看到, a 与 a + 1 和 a - 1 都差了四个字节

指针加减常量 加减的大小为 sizeof(类型) * 常量

再试试 char 类型?

int main() {
   

	char arr[10] = {
    ' 1', '2', '3', '4', '5', '6', '7', '8'

你可能感兴趣的:(C语言必知必会,指针,c语言,编程语言)