字符串数组指针变量的地址关系
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];
不过不如第一种声明方法灵活,只适合一开始就固定好数量的前提。

浙公网安备 33010602011771号