1、在函数传参的时候,传入数组个数,此时只能用动态数组,而不能用静态数组;
错误示范:
void func(int num)
{
char ch[num] = {0};//这样是不行的,因为数组个数要求必须是个常量
}
正确示范:
void func(int num)
{
char* p = (char*)calloc(num,sizeof(char));//申请动态数组
//do sth.
free(p);
}
重要提醒:calloc()之后申请的内存,用完后一定要记得free!!!
例如:
void func(int num)
{
char* p ;
int i = 0;
while(1)
{
p = (char*)calloc(num,sizeof(char));//申请动态数组
if(ret==0)
{
//do sth.
return 0;
}else{
free(p);
continue;
}
}
}