- 申请空间
1)malloc(个数sizeof(数据类型)),返回值为void,应用时注意数据类型转换,返回空间首地址
2)calloc()用法与上一致,且会自动赋值所有空间为0
3)注意判断是否申请成功
if(p==NULL)
{
exit(1);
}
-
释放空间
1)只可释放动态申请的空间
2) free(指针) -
修改分配的空间
1) realloc(指针,新空间大小)
2) 重新分配后地址会改变
3) 返回值与上同 -
尽量用完后就释放空间,不要等到程序结束
-
以下方式可以传递指针
char *getstr(char *s)
{
s=(char *)malloc(80);
scanf("%s",s);
return s;
}
int main()
{
char *ptr=NULL;
ptr=getstr(ptr);
puts(ptr);
free(ptr);
return 0;
}