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

Обход упорядоченного дерева. Не могу понять на что ругается прогорамма... Ошибок вроде как нет... - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поиск строк http://www.cyberforum.ru/cpp-beginners/thread333130.html
Мне нужно найти в строке символ "," и заменить ее. Данная программа демонстрирует нахождение одной запятой #include<iostream> #include<string> using namespace std; class a {private: string...
C++ я новенький....посмотрите.. Описать процедуру TimeToHMS(T, H, M, S), определяющую по времени T (в секундах) содержащееся в нем количество часов H, минут M и секунд S (T — входной, H, M и S — выходные параметры целого типа).... http://www.cyberforum.ru/cpp-beginners/thread333123.html
C++ Необходимые знания и литература ?
Доброго времени суток , уважаемые пользователи и программисты ! Моя цель , я хотел бы научиться создавать программы и компьютерные игры , естественно этому всему надо учиться долгие годы . Я раньше...
Рекурсия возведение в степень C++
Занимаюсь изучением языка С++. Компилятор Visual C++ 2010 express.Когда компилирую выдает: 1>------ Build started: Project: recf, Configuration: Debug Win32 ------ 1>MSVCRTD.lib(crtexew.obj) :...
C++ Программа про карты http://www.cyberforum.ru/cpp-beginners/thread333100.html
Дана программа #include <iostream> #include <cstdlib> #include <ctime> using namespace std; enum Suit { clubs, diamonds, hearts, spades }; const int jack = 11;
C++ Вывод результата, начиная с 5-й строки. День добрый! Замучился вот с чем: Есть программа, выводящая на экран содержимое журнала системы для конкретного события. Мне надо надо отбросить лишнюю информацию и оставить лишь дату, время и имя... подробнее

Показать сообщение отдельно
grizlik78
Эксперт С++
1981 / 1474 / 127
Регистрация: 29.05.2011
Сообщений: 3,047
15.07.2011, 01:02
Цитата Сообщение от Ne_Mega_Ne_Keek Посмотреть сообщение
if(*p==NULL) - Да... она на неё ругается... я это понял! Но почему?
"Она" ругается не на "неё". То есть на эту строку, но не в таком виде.
C
1
if (*p = NULL)
Здесь происходит присваивание. В переменную *p (в ячейку памяти, на которую указывает p) записывается NULL (будем считать, что это 0). В результате проверяемое условие всегда ложно (так как выражение равно нулю). Если сам указатель p равен нулю, то при попытке выполнить это действие программа упадёт.
C
1
if (*p == NULL)
Здесь значение по указателю p сравнивается с нулём (с нулевым указателем, если точнее). Но если сам p равен нулю, то программа в этом месте всё-равно упадёт. Но будем считать, что за этим должна следить вызывающая программа и сам указатель p имеет корректное значение. Тогда такой вариант работает правильно: указатель (*p) можно разыменовывать только если он не нулевой, иначе нужно задать для него корректное значение. Ну, в общем, там в программе так и делается. Ошибка только в использовании = вместо ==
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru