struct a * a = (struct a *) malloc(sizeof(struct a));
// init a's members
error = pthread_create(&matrixAthread, NULL, matrixACreate, a);
РЕДАКТИРОВАТЬ: В ответ на обновленный вопрос:
void * matrixACreate(void * param) {
struct a * matrix = (struct a *) param;
int range = ((matrix->high - matrix->low) + 1);
cout << matrix->Arow << endl;
return NULL;
}