如何初始化unsigned char指针

时间:2011-04-16 17:53:11

标签: c++ c pointers char unsigned-char

我想初始化长度为1500的 unsigned char * 缓冲区,以便我可以从其他来源存储值。

3 个答案:

答案 0 :(得分:11)

如果你想在堆上,

unsigned char* buffer = new unsigned char[1500];

如果你想要它在堆栈上,

unsigned char buffer[1500];

答案 1 :(得分:2)

std::vector<unsigned char> buffer(1500);

答案 2 :(得分:1)

这样做的方法是

unsigned char * buffer = ( unsigned char * )malloc( 1500 * sizeof( unsigned char ) );

如果要初始化没有从先前指针创建的垃圾数据,请使用calloc,这将初始化字符为0的缓冲区。

malloc前面的(unsigned char *)只是为了输入它,一些编译器抱怨如果没有这样做。

如果您分别使用C或C ++,请记住在完成指针时调用free()或delete(),因为您使用的是C ++,可以使用delete()。