Вопрос № 48660: здраствуйте эксперты!! помогити разобрать почему не выводит результат. какая ошибка в работе с указателем и вчем разница между *m и m[]...Вопрос № 48706: здраствуйте. как установить русския язык для си 3.0???...
Вопрос № 48.660
здраствуйте эксперты!! помогити разобрать почему не выводит результат. какая ошибка в работе с указателем и вчем разница между *m и m[]
Приложение:
Отправлен: 09.07.2006, 22:29
Вопрос задал: HITY (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Physicist
Здравствуйте, HITY!
1. int m[] - это массив нулевого размера, поэтому записать в него ничего не получится.
2. Память под char *name нигде не выделяется, поэтому имя вводить "не куда".
3. Не совсем понятен смысл конструкции
| info *d=new info[n];
| f=new info[n];
| d=f;
при таком "раскладе" происходит утечка памяти (в первой строке адрес выделенной памяти записывается в d, а в третьей он "затирается")
Может есть еще ошибки - это первое, что бросилось в глаза.
Ответ отправил: Physicist (статус: 4-ый класс)
Ответ отправлен: 09.07.2006, 23:04 Оценка за ответ: 4 Комментарий оценки: хотелось бы инфо. и как преределать чтоб работало !!!
Отвечает: gitter
Здравствуйте, HITY!
В дополнение к предыдущему ответу скажу вот ещё что:
int m[]; действительно массив нулевой длины именно в той записи, в которой Вы описали.
Но, если объявить массив так int m[]={1,2,3,4,5,6} т это будет массив длиной 6, в котором будут содержаться 6 элементов
т.е. разница между объявлениями массивов
int m[]={1,2,3,4,5,6}; и int* m; следующая
int m[]={1,2,3,4,5,6}; - "массив", который проинициализирован перечислением его значений и его длина равна количеству значений этого списка
int* m; - "массив" переменной длины, инициализация которого, впоследствии, предполагается следующая
int* m=new int[N]; где N - длина массива
Удачи!
Ответ отправил: gitter (статус: Студент)
Ответ отправлен: 10.07.2006, 10:12 Оценка за ответ: 5
Вопрос № 48.706
здраствуйте. как установить русския язык для си 3.0???
Отправлен: 10.07.2006, 12:51
Вопрос задал: HITY (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: gitter
Здравствуйте, HITY!
Для того, чтобы отображались русские символы, необходимо запускать KEYRUS.COM с известными параметрами.
Вот как это делал я раньше:
Вам необходимо будет скачать архив с http://gitter.narod.ru/RUS.RAR
распаковать, затем
запустите, например, Norton Commander (Volcov Commander...), из него запустите файл rus.bat из распакованной из архива папки.
раскладка клавиатуры будет изменяться в этом окне при одновременном нажатии двух клавиш Shift (т.е. Left Shift+Right Shift) и двух клавиш Ctrl (т.е. Left Ctrl+ Right Ctrl)
Переключение раскладки сопровождается появлением красной/зелёной рамки или без рамки (если это английская раскладка)
Правда, у меня были случаи, когда раскладка переключалась нажатием правых Shift+Ctrl
Попробуйте, должно получиться.
Об утилите keyrus.com можете прочитать здесь
http://ru.wikipedia.org/wiki/KeyRus
http://www.gcmsite.ru/?pg=art&id=keyrus-dos-windows
и здесь http://rusfaq.ru/?Step=info&Action=Question&ID=18931
Удачи!
Ответ отправил: gitter (статус: Студент)
Ответ отправлен: 11.07.2006, 17:04 Оценка за ответ: 5