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

Как происходит процесс выделения памяти в стеке и куче - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Интерационные циклы (найти ошибку) http://www.cyberforum.ru/cpp-beginners/thread1073045.html
Скажите, пожалуйста, где я допустила ошибку? #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <cmath> using namespace std;
C++ Деструктор абстрактного класса Почему деструктор абстрактного класса нужно делать виртуальным? http://www.cyberforum.ru/cpp-beginners/thread1073037.html
Матрица. Все элементы последней строки уменьшить на соответствующие элементы третьего столбца C++
В первом модуле определена квадратная матрица 4-ого порядка. Выводится из изменная матрица построчно. Во втором модуле все элементы последней строки уменьшаются на соответствующие элементы третьего столбца.
Изменить программу C++
сабж для приаттаченной задачи по аналогии с кодом ниже, вроде просто, но не получается, прошу помощи :) #include "stdafx.h" #include <Iostream> #include <math.h> using namespace std; int main() { setlocale(LC_ALL, "Russian"); float x, a, b;
C++ C++ упорядочены ли числа последовательности по убыванию http://www.cyberforum.ru/cpp-beginners/thread1073011.html
вот сама задача: Даны натуральные числа A1, A2, ... . Признак конца последовательности 0. Определить упорядочены ли числа последовательности по убыванию и вот,как я её решил,но думаю,что не правильно - пожалуйста,проверьте: #include <stdio.h> #include <math.h> main() { int n; /* количество чисел */
C++ Не работает проверка и сдвиг строки матрицы помогите разобраться. не работает проверка и сдвиг строки. не могу найти ошибку. #include<iostream> #include<iomanip> using namespace std; подробнее

Показать сообщение отдельно
ValeryS
Модератор
6477 / 4943 / 455
Регистрация: 14.02.2011
Сообщений: 16,384
16.01.2014, 20:31     Как происходит процесс выделения памяти в стеке и куче
Цитата Сообщение от Lers Посмотреть сообщение
то что размер double 8 байт я знаю, в моей программе при использование double вместо int выделяется 6 байт на выравнивает и 12 байт при long double
а как узнал то?
и программа то эта?
Цитата Сообщение от Lers Посмотреть сообщение
class Disc
{
* public:
* char namedisc[20];
* char teacher_name[20];
* char name_group[10];
* int hours;
};
можешь сам посмотреть куда лягут переменные при разных режимах выравнивания и даже если поменяешь между собой члены
C++
1
2
3
4
5
6
7
8
9
10
11
Disc D;
void *addr=(void)&D;
void *addr_namedisc=(void)&D.namedisc[0];
void *addr_teacher_name=(void)&D.teacher_name[0];
void *addr_group=(void)&D_group[0];
void *addr_hours=(void)&D.hours;
print("offset namedisc=%x, offset teacher_name= %x offset name_group= %x offset hours=%x",
       addr_namedisc-addr,
       addr_teacher_name-addr,
       addr_group-addr,
       addr_hours-addr);
Добавлено через 1 минуту
Lers, судя по картинке у тебя выравнивание на 8 бит ( счетвереннное слово, а слово это два байта)
 
Текущее время: 15:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru