假设我有一个char * str
但我还不知道它的大小,所以我只能声明它。然后我将它传递给一个函数,这个函数将知道它的大小,所以它将初始化并设置它。我怎么能这样做?
char * str;
func(&str);
和
void func(char ** str) {
// initialize str...
}
答案 0 :(得分:2)
#define SIZE 10 //or some other value
或
const int SIZE = 10; //or some other value
然后:
void init( char** ptr) // pass a pointer to your char*
{
*ptr= malloc( SIZE ); //of any size
}
int main()
{
char *str;
init( &str ); //address of pointer str
//...Processing
free(str);
return 0;
}