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

С++ VLA и прочее... - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проверка на введенное число http://www.cyberforum.ru/cpp-beginners/thread717276.html
Здравствуйте. Как проверить что было введено число а не что то другое. Например я написал подпрограмму, которая проверяет что было введено целое число. long Check(char *message){ bool stop;...
C++ Обработка символьной строки Не могу справиться с этими задачами :( 2)Задать символьную строку, состоящую из слов. Слова разделены группой пробелов. Исходную строку символов ввести с экрана. Выполнить обработку по... http://www.cyberforum.ru/cpp-beginners/thread717248.html
Обработка двумерного массива C++
Не могу справиться с этими задачами :( 1)Создать программу, позволяющую задать двумерный массив, содержащий вещественные числа. Выполнить обработку по варианту. Исходный массив и...
C++ Как написать тест-программу?
Помогите, пожалуйста. Мне необходимо написать тест-программу для класса Adminictrator. //This is the interface for the class SalariedEmployee. #ifndef SALARIEDEMPLOYEE_H #define...
C++ Подсчитывание начения арифметического выражения (Улучшить программу) http://www.cyberforum.ru/cpp-beginners/thread717229.html
Доброго времени суток. Нужно написать программу, подсчитывающую значение арифметического выражения( входят натуральные числа, +, *, круглые скобки). Вот код: //Грамматика: //<Выражение> ::=...
C++ Динамические одномерные масивы Не могу создать новый размер динамического массива. Статический работает как надо (мусор присутствует только в начале), а динамический нет (он такое впечатление вовсе не массив), в чем дело не пойму.... подробнее

Показать сообщение отдельно
kravam
быдлокодер
1701 / 888 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
01.12.2012, 20:40
Цитата Сообщение от alsav22 Посмотреть сообщение
Выделение памяти произойдёт при входе в main() до выполнения первой инструкции в тексте кода:
По моему разумению всё должно идти своим чередом, инструкция за инструкцией. То есть сперва печать "Entry", потом выделение памяти под "m", потом инициализация "m", потом печать "m". Посмотрим в отладчике. С cout тяжело отследить, а с printf легко

C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <stdio.h>
using namespace std;
 
int main() { 
 cout << "Entry"; 
 int m = 3; 
 printf ("%d", m); 
 return 0; 
}
отследил, было так: сперва выделение памяти X, потом печать "Entry", потом занесение в X-> 3, потом выделение памяти Y, потом занесение в Y->3, потом печать "m". Причём при печати "m" использовалось значение ячейка памяти Y а не X.

Цитата Сообщение от alsav22 Посмотреть сообщение
Выделение памяти произойдёт при входе в main() до выполнения первой инструкции в тексте кода:
ну то есть в данном конкретном случае выделение памяти и инициализация произошло как до так и после печати "Entry". Фактически в main под переменную "m" было выделено две ячейки памяти. Учитывая, что при печати "m" использовалась ячейка памяти Y, я бы сказал что после. А зачем комплятор придумал занесение X-> 3 (до печати "Entry") я не знаю и знать не хочу

Зачем тебе вообще это? Ну если так надо знать, сходи на wasm.ru, там в раздел "исследование программ", там научат работать с отладчиком. А то я закалебусь смотреть постоянно.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru