Я передаю локальный буфер функции:
void func1()
{
char buffer[128];
func2(buffer);
}
void func2(char *buff)
{
strcpy(buff, "Some String");
}
Теперь, когда я смотрю на значение buff после вызова функции, он просто имеет "S", а остальные пустые.
Теперь, если я сделаю буфер глобальным или статическим, тогда я могу передать всю строку.
Мой вопрос здесь заключается в том, что мы передаем адрес буфера функции, поэтому не должно иметь значения,локальный или глобальный.Но в случае объявления как локального я не возвращаю данные в свой буфер.