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

Использование разных типов указателей - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу на строки, завтра защита http://www.cyberforum.ru/cpp-beginners/thread223660.html
Напишите , пожалуйста, программу на С. Завтра защита, выручайте! Вот задание: Дана строка. Найти в ней самую длинную подстроку, которая повторяется не менее двух раз. Пример: если дана такая...
C++ Работа с числами в с++ не понимаю, как решить эту задачу.. бился день и ночь( помогите пожалуйста :( Вводится некоторое натуральное число N, состоящее не более чем из 10 различных цифр (первая цифра - не 0).... http://www.cyberforum.ru/cpp-beginners/thread223657.html
C++ Перевести с С на С++
#include <iostream> void inversion(double **A, int N) { double temp; double **E = new double *; for (int i = 0; i < N; i++) E = new double ;
ошибка при кодировании C++
Вопрос такой ,программа должна переводить текст в код хэмминга и обратно. Указываю два файла (txt формата), откуда беру текст и куда ложить результат. например при кодировании слова "isakz" в другом...
C++ Подсчет количества предложений в текстовом файле http://www.cyberforum.ru/cpp-beginners/thread223635.html
Сама задача:Подсчитать число предложений в заданном текстовом файле (текст на английском языке). Предложением считается последовательность символов, начинающихся с пробела и прописной буквы и...
C++ Ввод - вывод строк + пробелы Ввести строку. Вывести в виде нескольких строк так, чтобы в каждой строке было по 4 слова, первое слово начиналось в 5-ой позиции, а последнее заканчивалось в 60-ой. Т.е. Перед первым выведенным... подробнее

Показать сообщение отдельно
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
03.01.2011, 23:36
Размер double может быть больше размера int и его байты попадают на память, где расположена переменная upper.
Посмотрите вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// LayoutError - программа для представления
//               неаккуратного обращения с указателями
 
#include <iostream>
using namespace std;
 
int main(int Argc, char* pszArgs[])
{
    setlocale(LC_ALL, "");
    int upper = 1;
    int n     = 1;
    int lower = 1;
    
    // выводим щначения оьъявленных переменных
    cout << "upper = " << upper << "\n";
    cout << "n     = " << n     << "\n";
    cout << "lower = " << lower << "\n";
    
    // сохраняем значения типа double
    // в памяти, выделенной для int
    cout << "\nСохранение double в int\n";
    double* pD = (double*)&n;
    *pD = 13.0;
    
    // показываем рез-ты
    cout << "sizeof(*pD) = " << sizeof(*pD) << "\n";
    cout << "sizeof(n) = " << sizeof(n) << "\n";
    cout << "&upper = " << &upper << "\n";
    cout << "upper  = " << upper << "\n";
    cout << "&n     = " << &n     << "\n";
    cout << "n      = " << n     << "\n";
    cout << "&lower = " << &lower << "\n";
    cout << "lower  = " << lower << "\n";
 
  cin.get();
  return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru