Hy,
Мне было интересно, возможно ли что-то подобное без использования кучи (malloc / calloc). Предположим, у меня есть такая структура:
typedef struct {
void* par1_;
void* par2_;
}parameters;
и еще одна дляposition:
typedef struct {
short x;
short y;
}position;
Эта функция вызывается потоком.
void* car(void* arg)
{
parameters car_type = *((parameters*) arg);
int first_par = *(int*)&car_type.par1_;
int second_par = *(int*)&car_type.par2_; // can I do this?
//if yes how do I extract now values from position struct "pos.x and pos.y"
}
В моем основном потоке я хочу отметить позицию в структуре "position", назначить эту структуруко второму параметру "par2_", а затем отправьте его моей функциональной машине.
int main()
{
parameters pars;
position pos;
pos.x = 44;
pos.y = 25;
pars.par1_ = (void*) CAR_TYPE; // Global Variable
pars.par2_ = &pos; // not sure about this?
pthread_t tid;
pthread_create(&tid, NULL, car, (void*) &pars);
pthread_join(tid, NULL);
Извините, если это глупый вопрос.Очевидно, я новичок во всем этом.Еще раз, я не хочу использовать кучу.Это минимальный пример моей программы.