В моем коде у меня есть STRUCКак назначить struc указателю пустоты, проходящему через параметры?
struct Test {
int a;
int b;
char c;
};
С моей функции:
int TestFunction(void* ptr){
struct Test test;
test.a = 0;
test.b = 1;
strcpy(c,"hello");
return 0;
}
Теперь связать временную STRUC к объемному PTR я прошел в у меня есть
struct Test* temp = (struct Test*)ptr;
struct Test test = *temp;
ли это правильный способ связать структуры с void ptrs? Есть ли более простой способ?
"* Это правильный способ связывания структур с void ptrs? *" - Это * * путь. Правильно ли это зависит от ожидаемых результатов. Ожидаете ли вы, что структура будет видна в указанной структуре? – Dolda2000
Вы хотите изменить исходную структуру, которая была передана или только ее копия? И что такое 'strcpy (c,« hello »),' означает делать как 'c', не объявлен? Кроме того, указатели 'void' могут быть назначены любому другому типу указателя. Поэтому приведение не требуется и, следовательно, проще: 'struct Test * temp = ptr;' – kaylum
@ Dolda2000, yep Я хочу изменить void ptr struc, когда функция возвращает – chonglawr