我有以下代码:
Byte * tokenOut = NULL;
for (int i = 0; i < sizeof(Tknout); i++)
{
tokenOut[i * 2] = (Tknout[i] >> 8);
tokenOut[(i * 2) + 1] = (Tknout[i] & 0xFF);
}
但是当我尝试更新tokenOut时,它会在运行时生成EXC_BAD_ACCESS错误。如果有人能告诉我我做错了什么,我会很感激!
谢谢!
答案 0 :(得分:3)
您正在取消引用NULL指针。
尝试
Byte whatever;
Byte *outToken = &whatever;
// Do the rest.
现在有足够的内存供你写信。
除非您仍然遇到问题,因为您将在变量的末尾写入。那么也许你想要一个阵列?
sizeof(outTkn)将返回1(1个字节)