Я не могу вернуть указатель на массив символов из другого файла, кроме основной функции.Это всегда говорит "ошибка сегментации".Но если я напишу функцию в том же файле, что и main, проблем нет.
/* this is in mainfunc.c file*/
int main()
{
char ch[5]={'a','b','c','d','\0'};
char *res=retchararray(ch);
printf("%s\n",res);/*I get segmentation fault only when I use this printf*/
}
/* this function is in other file newfile.c */
char *retchararray( char *p){
char *str;
str=p;
unsigned int len=strlen(p);
*(str+len)='e';
*(str+len+1)='\0';
return str;
}
Я использую NetBeans в Mac OS для программирования на C.
Может кто-нибудь подскажет, чтоэто проблема?Или я здесь ошибаюсь?