有没有人能告诉我这个初始化有什么不正确的地方:
static unsigned char* var[1]
var[0] = new unsigned char[ 800 * 600 ]这是在var上创建一个2D数组吗?这真的有效吗?
发布于 2012-06-02 02:00:55
它在var上创建了一个长度为(800*600)的一维数组。您可以使用以下命令访问它的元素:
var[0][0]
var[0][1]
...
var[0][800*600-1]发布于 2012-06-02 01:46:30
它创建一个包含480,000个元素(也就是800*600)的数组,并将其存储在var中。它不是在创建二维数组。只要var[0]是unsigned char*,它就是有效的。
发布于 2012-06-02 01:51:47
我认为你想要更像这样的东西(尽管我可能打断错了问题);
static unsigned char* var = new char*[800]
for (int i =0; i < 800; i++)
var[i] = new char[600]这将为您提供一个800x600二维字符数组。
https://stackoverflow.com/questions/10854964
复制相似问题