ee168 发表于 2025-7-25 16:55

内存存储使用malloc后产生了越界,什么原因?

// keil
#include "stdlib.h"

unsigned char u1tlen;
char u1tx;

funA()
{
BufSize = 432;
psMb->pBuf = malloc(BufSize);        //
}
funB()
{
u1tlen = sprintf(u1tx,"in        %u        %u        %u\r\n",psMb->PosIn,psMb->PosOut,length);
uart1_tx_data((unsigned char*)u1tx,u1tlen);
}
程序经常出错,然后发现在运行u1tlen = sprintf()时居然修改了malloc指向的存储区,不理解,难道内存不够了导致?还是有什么其它原因
页: [1]
查看完整版本: 内存存储使用malloc后产生了越界,什么原因?