字符串数组指针变量的地址关系

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];

不过不如第一种声明方法灵活,只适合一开始就固定好数量的前提。

posted @ 2025-02-28 15:01  上山砍大树  阅读(13)  评论(0)    收藏  举报