如何初始化无符号char指针

How to initialize unsigned char pointer

本文关键字:char 指针 无符号 初始化      更新时间:2023-10-16

我想初始化一个长度为1500的unsigned char *缓冲区,以便我可以在其中存储来自其他来源的值

如果您希望它在堆上,

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

如果你想把它放在堆栈上,

unsigned char buffer[1500];

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

C语言的方法是

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

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

malloc前面的(unsigned char *)只是对它进行类型强制转换,如果不这样做,一些编译器会报错。

如果你分别使用C或c++,记得在指针结束后调用free()或delete(),因为你在c++中可以使用delete()。