У меня есть простое сомнение в массивах символов.У меня есть структура:
struct abc {
char *charptr;
int a;
}
void func1()
{
func2("hello");
}
void func (char *name)
{
strcpy(abc.charptr, name); >>> This is wrong.
}
Это strcpy приведет к падению, так как у меня нет памяти, выделенной для charptr.Вопрос заключается в следующем: можем ли мы сделать неправильное использование этой памяти
abc.charptr = (char *) malloc(strlen(name)); ?
strcpy(abc,charptr, name); >>> Is this (or strncpy) right ?
Это правильно?