分配内存不起作用

卢卡斯S

我正在尝试将一些内存分配为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;
    }

但是,我每次运行都会收到错误消息。无论我使用哪种数据类型,这似乎都会发生!

伊戈尔·特兰德尼克(Igor Trandetnik)

您的memset呼叫不会写入您刚刚分配的缓冲区(由指向的缓冲区)split它写入split变量本身存储的内存区域(由指向)&split于是split就变成了NULL

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章