在C语言中,所有空间分配函数的返回值都是指向空间首地址的空指针(void),所以如果想要得到双指针(指向指针的指针),其实是一样的作为指向其他类型的指针,强制进行 Just 类型转换,例如:
字符**p;
*p=(char *)((char)); (同上)我来详细解释一下我对你的问题的看法。 我希望这会有所帮助。
(1)我个人感觉你问的问题有点问题,“如何分配双指针”。 也许你认为指针空间需要动态分配。 其实当你声明一个变量的时候,比如你声明了一个指针char *p,指针p的空间其实已经存在了。 如果更容易分配的话,应该分配一块内存来存储char数据,而不是存储指针。 双指针char **p也是如此; 当p的存储空间已经存在时,不需要删除它。 分发。
(2)当然,你的问题也可以理解为如何动态分配一块内存,而这块内存是用来存储双指针的,所以上面的答案不能用,因为如果你分配一块内存来存储char类型,那么首地址需要使用指向char的指针来存储,即
char * 类型,所以如果要分配双指针空间,它的首地址应该存储为指向双指针的指针,这是一个三重指针。
例如:
字符***p;
p=(char ***)((char **));