Предположим, у меня есть char * str
, и я еще не знаю ее размеров, поэтому могу только объявить его. Затем я передаю его функции, эта функция будет знать размер ее, чтобы она инициализировала и установила ее. Как я могу это сделать?C - передать неинициализированную переменную в функцию
char * str;
func(&str);
и
void func(char ** str) {
// initialize str...
}
downvoters - берут только второй, чтобы дать повод. – ryyker
нет никакой магии при распределении памяти для переменной. В какой-то момент и каким-то способом вы должны указать значение _size_, чтобы аргументы функций, таких как 'malloc()' или 'calloc()', могли быть вызваны правильно. *** Было бы также хорошо, если бы вы разместили код, который у вас есть, показывая хотя бы некоторые усилия для решения проблемы. *** – ryyker
Спасибо, извините. Я добавил некоторый код, чтобы прояснить вопрос для других. – sina