Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Может ли в Ц переменная иметь переменные значения? Строки... - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Чтение файла с CD-ROM? http://www.cyberforum.ru/cpp-beginners/thread493490.html
Хотел бы написать свою программу для работы с CD-ROM. Нашел некоторые примеры с применением ASPI. Однако из этих примеров я не понял, как можно определить начальный и конечный секторы файла на диске...
C++ Как сгенерировать DLL в Marple Подскажите, пожалуйста, как сгенерировать DLL в Marple 9, для использования ее в других паскал и си-программах. http://www.cyberforum.ru/cpp-beginners/thread493480.html
C++ Проблема с HttpSendRequest. Возвращает NULL.
Привет. Я построил контроль, который находится в ИЕ.Его задача отследить защищен ли сайт сертификатом.Мне нужно получить объект с сервера Вот мой код. <b> HINTERNET hOpen, hConnect, hReq; DWORD...
C++ Отображение формы (CFormView)
Создаю новый проект на основе CFormView(так нужно). Проблема в том, что нужно чтобы сначала форма не отображалась, то есть при запуске программы на екран выводилось меню и тулбары. Потом при...
C++ Авторизация пользователя через MsGina - Userinit.exe http://www.cyberforum.ru/cpp-beginners/thread493413.html
Друзья! Последние дни занят поиском решения одной проблемы. Хочу поделиться: Написал работоспособную MsGina2.dll в замен стандартной. Работает. Следующей задачей заменил стандартную функцию...
C++ Как с помощью класса 'Cximage' вывести на экран JPG файл? (-) Помогите пожалуйста... подробнее

Показать сообщение отдельно
palva
2614 / 1836 / 263
Регистрация: 08.06.2007
Сообщений: 6,995
Записей в блоге: 4
14.03.2011, 11:19
На то, что программа на C++ указывает объявление переменной в середине программы. На C положено сначала объявить все переменные, а потом с ними работать.

Если объявлять переменную дважды, то компилятор понимает, что вам нужны две переменные. Это допустимо, если одна переменная объявляется на внешнем уровне, а вторая внутри функции. В этом случае вторая переменная внутри функции будет 'заслонять' первую.

Переменной можно присвоить новое значение оператором присваивания, если же вы присваиваете значение при описании переменной, то справа от знака '=' допускается использовать только константное выражение.

> Во время выполнения вызываемая функция должна беспокоиться о границах массива и контролировать возможность затереть чужую память.

На самом деле нам никто ничего не должен. Функция strcat этого не делает. У нее нет информации о размере параметра. Она даже не знает, что этот параметр массив.

> Поскольку Ц - язык высокого уровня...

Пожалуй что язык С - это язык низкого уровня. Он придуман как некоторая замена ассемблера и использовался при написании операционной системы. Язык C++ универсальный. Там есть средства высокого уровня, а есть низкого. Вы пользуетесь средствами низкого уровня.

Фукцию sprintf вы используете неправильно. Первым параметром должен стоять указатель на символьный буфер, куда будет записываться результат работы. Длина этого буфера должна быть достаточна для результата (функция эту длину не знает и знать не хочет). То есть вы должны объявить его так: char Query[200]; Возвращает эта функция длину сформированного буфера (без учета завершающего нуля).
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru