如何初始化点数组?
我正在写一些Win32程序。 我遇到了一个问题。 我定义了一个Point数组,就像这样:
POINT points[3];
现在我想初始化它,而且我知道这是非法的
POINT points[3] = { (295,295),(200,200),(400,500) };
所以我需要正确的方式。
你可以简单地这样做
POINT points[3] = { 295, 295, 200, 200, 400, 500 };
但一个更安全的事情就是这样做
POINT points[3] = { { 295, 295 }, { 200, 200 }, { 400, 500 } };
有趣的是,你最初写的东西不是非法的(你从哪里得到这个想法?)。 您在初始化程序中使用的()
将导致inner ,
被解释为逗号运算符。 例如,表达式(400, 500)
评估为500
。 这意味着您的原始初始化实际上被视为
POINT points[3] = { 295, 200, 500 };
这又相当于
POINT points[3] = { { 295, 200 }, { 500, 0 }, { 0, 0 } };
它不会做你想做的事情,但它肯定不是非法的。
根据评论:
POINT points[] = {{295,295}, {200,200}, {400,500}};
链接地址: http://www.djcxy.com/p/84429.html