object.position.x += vx;
var objHalfWidth = object.geometry.parameters.width / 2;
if (object.position.x + objHalfWidth >= plane.geometry.boundingBox.max.x){
object.position.x = plane.geometry.boundingBox.max.x - objHalfWidth;
}
if (object.position.x - objHalfWidth <= plane.geometry.boundingBox.min.x){
object.position.x = plane.geometry.boundingBox.min.x + objHalfWidth;
}
NUM_CONFIGS当前是3,printf的结果是TEST1:8,它应该是12.如果我将NUM_CONFIGS更改为30,结果再次是TEST1:8。这里有什么问题? 然后,如果我去打印数组值,它打印出来:[25,10]它应该是[25,10,3]。 如何在这种情况下释放分配的空间?
答案 0 :(得分:1)
使用int* a = ...
:
sizeof(a)
不 a
所指向的已分配内存块的大小sizeof(a)
是指针的大小(通常为4或8个字节,具体取决于您的平台)使用int a[NUM_CONFIGS]
:
sizeof(a)
是数组的大小(即sizeof(int) * NUM_CONFIGS
)sizeof(a)/sizeof(*a)
是数组中的条目数(即NUM_CONFIGS
)