有没有办法使用指针表示法获取三维向量的大小?
Is there a way to get the size of a three-dimensional vector using pointer notation?
我需要做这样的事情:
sizeof(int[width][height][8])
但不幸的是,在 c89(我必须使用的标准)中,这种表示法是被禁止的,有没有办法做同样的事情,但使用指针表示法?
Here's the error i get
它在 c99 中工作正常但在 c89 中不工作
你可以这样写:
(sizeof(int) * (width) * (height) * 8)
确保将 sizeof(int)
放在第一位以强制将 width
和 height
转换为 size_t
并避免 width * height * 8
上潜在的整数溢出如果 width
和 height
有 int
类型。
我需要做这样的事情:
sizeof(int[width][height][8])
但不幸的是,在 c89(我必须使用的标准)中,这种表示法是被禁止的,有没有办法做同样的事情,但使用指针表示法?
Here's the error i get
它在 c99 中工作正常但在 c89 中不工作
你可以这样写:
(sizeof(int) * (width) * (height) * 8)
确保将 sizeof(int)
放在第一位以强制将 width
和 height
转换为 size_t
并避免 width * height * 8
上潜在的整数溢出如果 width
和 height
有 int
类型。