为结构体指针分配空间
在另一篇文章链接文本中,
我试图用结构做同样的事情,但我的 sizeof 运算符有问题,所以在整数情况下,我这样做了:
size_t totalMem = rows * sizeof(int *) + rows * cols * sizeof(int));
在结构情况下,我这样做了:
size_t totalMem = (rows * sizeof(struct TEST *)) + (rows * cols * sizeof(struct TEST));
但我收到错误: sizeof 对不完整类型的 struct TEST 的应用无效。
有什么想法吗?谢谢。
In another post link text
I am trying to do the same thing with a struct, but I have a problem with my sizeof operator, so in the integer case, I did this:
size_t totalMem = rows * sizeof(int *) + rows * cols * sizeof(int));
And in the struct case I did this:
size_t totalMem = (rows * sizeof(struct TEST *)) + (rows * cols * sizeof(struct TEST));
But I get the error: Invalid application of sizeof to incomplete type of struct TEST.
Any thoughts? Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
因为您正在定义结构,所以
您应该始终将结构引用为
TEST
,而不是struct TEST
,即使用要使用
struct TEST
您需要实际命名结构,即您可以允许两者
Because you're defining the struct as
you should always refer to the struct as
TEST
, notstruct TEST
, i.e. useTo use
struct TEST
you need to actually name the struct, i.e.You can allow both with
作为我的 size_t 声明的一部分。然后.h文件中的定义是:
as part of my size_t statement. And then the definition in the .h file is:
:
和
更改
Change:
and
to