Member
Статус: Не в сети Регистрация: 15.02.2009 Откуда: Лангепас
manya На чём пишешь? Если BC 3.1 и ниже, то там есть "глюк", опция для fopen(...,"wb+") - не поможет (под виндой и досом), надо ещё и глобальную переменную выставлять:
При этом через стек передаётся только адрес переменной, а функция могёт делать с самим указателем всё, что угодно, но к переменной она "void foo()" можетдобраться только через указатель... 3. По ссылке
Root, например, для решения такой задачи - Есть двухмерный массив типа int, нужно написать функцию, которая выводит на экран этот массив в сортированном виде, но при этом этот массив не меняется. Для этого надо передавать функцию по значению, но так как в C нет контроля за границами массива, то разрешено передавать границы массива как параметры этой функции.
oxy, я читал книгу, и там написано было, что передача по ссылкам стала доступна только в С++, а С ее не было. Но, если вопрос не понятен, то выше я подробно все описал.
Member
Статус: Не в сети Регистрация: 15.02.2009 Откуда: Лангепас
Возможно препод ошибся, говоря слово "значение". Такое возможно только на АСМе, если писать на С, то нужно очень тонко знать что делает компилятор и икак на это реагирует ОС... Сохранить массив в целостности помогут локальные переменные, но если это "чистый С", то стандартными методами можно передать только указатель на массив (первый элемент массива).
Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
tolikrog Мы сейчас о чем говорим - о плюсатом Си или классическом Си? Я бы вообще обошелся const *
Цитата:
попробуй целый класс передать по значению
ага. И огрести кучу траблов, в частности, если класс содержит указатели. Потому что класс передается, но вызывается не дефолтный конструктор, а конструктор копирования!!! А vector - это хорошо, но тогда пользуешься в одном месте - пользуйся везде...
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Последний раз редактировалось Root 21.11.2009 17:08, всего редактировалось 1 раз.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения