您的位置:首页 > 其它

常见指针错误

2016-01-21 16:16 381 查看
section 1:
void func()
{
char * p;
char buf[1024];
p = malloc( 1024 );
if( p == NULL )
{
perror("malloc");
}
memset(p , 0 , 1024);
p = buf;    //    指针重新指向了buf这个空间,p被释放时实际释放的是buf的空间,因此出错;
//    应使用拷贝函数赋值;
//    sprintf( p ,"%s", buf);
free(p);
}


section 2:

malloc( sizeof(12) ); //12是整数 sizeof(12) 的值是4,malloc了4个字节的空间;
malloc( 12 ); //malloc了12个字节的空间
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C标准 malloc 指针