在一个项目中,有人推这条线:
double (*e)[n+1] = malloc((n+1) * sizeof(e)); 据推测会创建一个(n + 1)(n + 1)个double的二维数组。
按说,我说,因为到目前为止,没有人问我能告诉我这是什么呢,正好,也不在那里它源自或者为什么它应该工作(据称,这样做,但我还没有买的话)。
也许我缺少明显的东西,但是如果有人可以向我解释以上内容,我将不胜感激。因为就我个人而言,如果我们使用实际理解的东西会感觉好很多。 问题来源于stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
该变量e是指向n + 1类型为的元素数组的指针double。
使用dereference运算符可以e使您的基本类型e为“ n + 1元素类型数组double”。
该malloc调用只是采用e(上面说明的)基本类型并获取其大小,然后乘以n + 1,然后将该大小传递给malloc函数。本质上是分配元素数组的n + 1数组。n + 1double