这篇文章的内容很简单,就是探讨char** 、int**等二重指针的作用。
1、演示
int a = 10;
int* b = &a;
int** c = &b;
- 指针b指向变量a;可以通过*b操作变量a的值。
- 二重指针c指向指针b,那么*c就能操作指针b的内容。
那么问题的关键是 指针b的内容是什么呢?
- 指针b的内容就是 变量a的地址 啊。那么指针c 加上一个值,就相当于&a加上了某个值,相当于指向缓冲区a的指针在移动。
我们不妨将a看成一个缓冲区
那么可以通过指针 *c 的加加减减来 操作缓冲区a。
2、总结
二重指针可以增加偏移量,在缓冲区上移动。比如往缓冲区写内容,就可以使用二重指针来不断更新缓冲区中的内容。