deque
是一个指向字符串数组的指针变量(char **deque
)。下面我用图示来介绍下,字符串数组的相关概念。
首先定义一个字符串数组指针
char **deque;
然后再申请N
个数组空间
deque = (char **)malloc(N * sizeof(char *));
此时deque
就是一个拥有N
个字符串指针的数组。然后向第一个元素保存字符串dword
.
deque[0] = "dword";
此时调试数组,查看内存为:
首先deque
是一个字符串数组指针变量,保存的是字符串数组首元素的地址。在这里可知
deque = 0xb7b1b0;
解引用到此元素,此元素就是deque[0]
。而deque[0]
保存的是字符串dword
的首字符地址0xb74040
。
其实这样声明一个N
空间大小的字符串指针数组,也相当于
char *deque[N];
不过不如第一种声明方法灵活,只适合一开始就固定好数量的前提。