我理解的指针本身就是一个数字, 比如int **p, 假设p变量存放的地址是1000, 内容是1100, 那么*p就是去找1100地址里放的东西, 地址1100的内容假设是1200, **p就是去找地址1200里的东西, 假设地址1200里的是1300, 那么**p最终就是int数字1300. 但是最近看到二维数组, 比如int q[4][4], q本身可以理解为一个指针, 而且q和*q的值竟然是相等的,但是**q就取到了q[0][0]的值, 和我上面的理解是完全冲突的, 因为按照我上面理解, 假设q的内容是1100, 如果要*q和q相同,那么地址1100的位置存放的值一定要是1100, 但是这样无论我给q前面增加多少个解除引用, 最终得到的都应该是1100才对, 是我对指针的理解有问题么?



