gpt4 book ai didi

c - 二级指针

转载 作者:太空宇宙 更新时间:2023-11-04 06:22:41 30 4
gpt4 key购买 nike

假设我们有以下数组:

char *names[]={"Abc", "Def", "Ghi", "Klm", "Nop"};

如果我们要创建一个指向上面数组的指针,为什么要使用如下的二级指针呢?

char **p1 = names;

谢谢。

最佳答案

您的 names[] 的数组 char *,即指向 char 的指针数组>.

同时p1是一个指向char的指针,即指向char *的指针。您可以将 names 分配给它,因为数组衰减到指向其第一个元素的指针,而 names 的第一个元素是指向 char 的指针,因此 names 衰减为指向 char * 的指针。这是与 p1 相同的类型 - char **,因此它们是兼容的。

(另外注意,names 的元素类型不正确;字符串文字是常量,因此它应该是 const char *names[],类似地p1 应该是 const char** – 指向 const char 的指针。)

关于c - 二级指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31805455/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com