我觉得内存模型大概是如此:
如果改变*strings++
那么指针将会指向第二行,如果使用 *(*strings)
那么指针将会向后移动一列。
在find_char1函数中:
1 | char *string; |
但是最后的结果运行函数一并没有改变?
由于指针数组中每一行类型是数组并没有指针控制,而在每一个指针中却有指针控制。所以*(*strings)
便改变了
比如对于定义中的*string[2]
;
输出第一个数组第二个数组:
1 | printf("%c\n",*string[0]+1); |