试题6:void GetMemory( char

20 查阅
试题6:void GetMemory( char **p, int num ){*p = (char *) malloc( num );}void Test( void ){char *str = N

参考答案:

正确答案:

\r\n

试题6的GetMemory避免了试题4的问题,传入GetMemory的参数为字符串指针的指针,但是在GetMemory中执行申请内存及赋值语句
*p = (char *) malloc( num );  后未判断内存是否申请成功,应加上:
if ( *p == NULL )
{
 ...//进行申请内存失败处理
} 

试题