前两天写了一段错误代码
CHAR* a = (CHAR*)malloc(20 * sizeof(CHAR) );
后来去查了malloc函数的定义,发现malloc函数的参数是字节的数量,而不是位的数量
extern void *malloc(unsigned int num_bytes);
意为分配长度为num_bytes字节的内存块
因此原来的代码应该改为
CHAR* a = (CHAR*)malloc(20 );
前两天写了一段错误代码
CHAR* a = (CHAR*)malloc(20 * sizeof(CHAR) );
后来去查了malloc函数的定义,发现malloc函数的参数是字节的数量,而不是位的数量
extern void *malloc(unsigned int num_bytes);
意为分配长度为num_bytes字节的内存块
因此原来的代码应该改为
CHAR* a = (CHAR*)malloc(20 );