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

Структуры, содержащие указатели на самих себя - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Объясните пожалуйста http://www.cyberforum.ru/cpp-beginners/thread424813.html
Получилось довольно много вопросов, накопилось пока читал книгу. Отблагодарю, как смогу за любую информацию :) Вот они: Как вообще возможно существование структур, содержащих указатели на самих...
C++ Графическая библиотека в Visual Studio 2008 Здравствуйте, у меня такой вопрос: как подключить в Visual Studio 2008 графическую библиотеки и вообще возможно ли это? http://www.cyberforum.ru/cpp-beginners/thread424809.html
C++ В консольном выводе выделить разными цветами элементы матрицы
Доброй ночи всем. Я делаю задачу в Visual C++ 2008 Express. У меня вот какое дело. Выводится на экран матрица M на N. Это типа поле. По ней перемещаются юниты, 3 разных юнита. Я хочу...
Удаление данных из файла C++
Внезапно понял что не знаю как удалить данные из файла. int main() { fstream file("file.txt",fstream::write,fstream::read); if(!file) exit(1); int temp=0; string...
C++ Не получается доделать программу! Необходимо вывести результат рассчётов в последнюю строку и последний столбец матрицы. http://www.cyberforum.ru/cpp-beginners/thread424790.html
Само задание : Вывести исходные данные в первые 24 строки и первые 7 столбцов. Вычислить среднее арифметическое значение каждой строки и записать его в 8-ой столбец, а так же среднее арифметическое ...
C++ Создание файла в UTF-8 кодировке Здравствуйте! Как сделать что бы в данной ситуации файл создавался в utf-8 DWORD tmp0; TCHAR buffer; bool test; char s,s2; lstrcpy(s, "t.txt"); подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9664 / 5614 / 952
Регистрация: 25.07.2009
Сообщений: 10,778
09.01.2012, 05:27
Цитата Сообщение от Tamoren Посмотреть сообщение
Например, если нам нужно вычислить объем, занимаемый mystruct в памяти, получается рекурсия!
С чего бы вдруг? Указатель - фактически беззнаковое целое длинной в 4 байта (32-битные системы) или 8 байт (64-битные). Доделать пример, скомпилировать и посмотреть - не?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
struct mystruct{
   int a;
   char ch;
   struct mystruct* sptr; // Указатель на объекты типа mystruct
};
 
int main(void){
    printf("%d\n", sizeof(struct mystruct));
    
    return 0;
}
Код
~/cpp/other $ gcc -o sizeofstruct sizeofstruct.c 
~/cpp/other $ ./sizeofstruct 
12
А вот так
C
1
2
3
4
5
struct mystruct{
   int a;
   char ch;
   struct mystruct s;
};
действительно нельзя делать...
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru