我正在尝试将一些内存分配为unsigned char *,但是当我这样做时,指针似乎尚未初始化!
unsigned char* split = (unsigned char*) malloc ((sizeof(unsigned char)*sizeof(unsigned int)));
memset(&split,0,sizeof(int));
if(split==NULL) {
std::cout<<"Unable to allocate memory!\n";
system("pause");
return 1;
}
但是,我每次运行都会收到错误消息。无论我使用哪种数据类型,这似乎都会发生!
您的memset
呼叫不会写入您刚刚分配的缓冲区(由指向的缓冲区)split
。它写入split
变量本身存储的内存区域(由指向)&split
。于是split
就变成了NULL
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句