>Всем привет!
>Сталкнулся с проблебой выделения памяти на C, попробую объяснить на примере:
>
>func1(){
> char *a = NULL;
> func2(a);
>}Дело в том, что внутри func2 "a" -- как обычная локальная переменная, отдельная копия "а" из func1. Нужно передавать указатель на a, чтобы изменялся именно указатель:
func1(){
char *a = NULL;
func2(&a);
}
some_t func2(char **a){
*a = strdup("Some text!");
}
Одним словом, нужно чтобы изменялся int -- передаёте указатель на int. А если нужно чтобы изменялся -- передаёте указатель на <указатель на char>.