首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >指向指针和指针数组的指针

指向指针和指针数组的指针
EN

Stack Overflow用户
提问于 2022-04-09 05:52:55
回答 1查看 44关注 0票数 -1

在C中,为什么我不能写:

代码语言:javascript
复制
char **expectedPINs01 = { "0", "5", "7", "8", "9" };

因为我有:

警告:从不兼容指针类型‘char*’初始化‘char**’

但可以这样写:

代码语言:javascript
复制
char *expectedPINs01[] = { "0", "5", "7", "8", "9" };

有什么关系呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-09 07:22:12

当您编写char **时,您将获得足够的空间以供一个指针使用。如果您希望这样做像一个数组,那么您就必须要有足够的malloc空间来满足数组的大小,并填写条目。

当您编写char *x[5]时,您将获得足够的空间以供5个指针使用。

当您使用初始化速记时,您可以省略5,因为编译器可以从您的初始化器中看出,您希望为5个指针保留足够的空间,并且它为它们保留足够的空间,然后使用初始化程序速记来填充它们。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71805586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档