我需要做这样的事情:
sizeof(int[width][height][8])
但不幸的是,在c89(我必须使用的标准(中,这种表示法是被禁止的,除了使用指针表示法之外,还有什么方法可以做同样的事情吗?
这是我得到的错误
它在c99中工作良好,但在c89 中不工作
您可以编写以下内容:
(sizeof(int) * (width) * (height) * 8)
确保将sizeof(int)
放在第一位,以强制将width
和height
转换为size_t
,并且如果width
和height
具有int
类型,则避免在width * height * 8
上出现潜在的整数溢出。