Я пытаюсь манипулировать динамически распределенной матрицей, объявленной как глобальный указатель, используя функции, для простоты я не собираюсь вставлять сюда код, но я дам эквивалент и, возможно, яркий примерМанипулирование структурой в C с использованием функций
structname **variable;
int main()
{
variable = readfile("filename");
variable = modify(variable);
output(variable);
}
Это выглядит довольно просто, а вход и выход работает правильно, то проблема заключается в том, что мой «изменить» функция не делает каких-либо изменений, это пример этого:
structname **modify(structname **p)
{
swapitems(p[x][y],p[j][z]);
modifyitem(p[x][y]);
return p;
}
с
void swapitems(structname a, structname b)
{
structname buffer;
buffer = b;
b = a;
a = buffer;
}
Я думаю, проблема в том, что я не могу передать элементы swapitems
и modifyitem
, как это, как я могу изменить элементы с помощью таких функций, как те, в modify
?
Не используйте 'void main()'; вы понесете гнев. Это 'int main (void)' или 'int main (int argc, char ** argv)'. –
Этот вопрос задан несколько раз. Эта и другие проблемы новичка, подобные этому, должны быть решены путем изучения соответствующего раздела стандарта C или соответствующей части любого хорошего учебника C. Это такое фундаментальное свойство C, что оно должно быть очевидным и не может быть задано здесь. –