通常我该怎么办?我应该总是初始化ptr?
char *ptr;
ptr = malloc (10);
或
char *ptr = NULL ;
ptr = malloc (10);
和功能中?
void func(char **ptr)
{
*ptr = malloc(10);
}
int main()
{
char *ptr; /* OR char *ptr = NULL; ? */
func(&ptr);
return 0;
}
在使用之前初始化。
注意,分配也是初始化。
so,
char *ptr;
ptr = malloc (10);
还可以。
但如果是
void func(char **ptr)
{
*ptr = malloc(10);
}
int main()
{
char *ptr; /* OR char *ptr = NULL; ? */
func(&ptr);
return 0;
}
您应该初始化,因为您可能不知道该功能将对指针进行什么。