如何初始化无符号字符指针

4

我想初始化一个长度为1500的无符号字符缓冲区,以便我可以从其他来源存储值。

3个回答

15

如果要放在堆上,

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

如果要放在栈上,

unsigned char buffer[1500];


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

1
这的意思是:“使用C语言的方法是”。
unsigned char * buffer = ( unsigned char * )malloc( 1500 * sizeof( unsigned char ) );

如果您想要初始化而不使用由先前指针创建的垃圾数据,请使用calloc,这将使用字符0初始化缓冲区。
malloc前面的(unsigned char *)只是为了类型转换,某些编译器会报错,如果不进行此操作。
请记得在使用C或C++时,在完成指针后调用free()或delete(),因为您正在使用C++,所以可以使用delete()。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接