Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
1 / 1 / 0
Регистрация: 02.03.2020
Сообщений: 106

Определить и инициализировать переменную х

10.03.2020, 21:41. Показов 2630. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, уважаемые, я начинающий и если честно, сложновато пока-что понять данную тему с выводом значений указателей. Помогите пожалуйста с кодом, буду невероятно благодарен.

Определите и инициализацию переменной X типа int. Определите указатели char *, int * double *, void *, инициализацию их адресу переменной X. Напечатайте значение указателей, их размеры и длины участков памяти, связанные с выражениями, розименовуют указатели.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.03.2020, 21:41
Ответы с готовыми решениями:

Не получается инициализировать переменную
Привет всем. Пытаюсь освоить абстрактный тип данных с процедурами и списками. Написал main, но ругается на неинициализированную...

Как инициализировать локальную переменную?
Работаю над заданием. Нужно создать структуру "Страна". Делаю все вроде правильно. Но есть одна проблема при компиляции у меня появляется...

Инициализировать переменную в статитческом блоке
Как проинициализировать переменную в статическом блоке.\ Пример public class Solution { public static Cat cat; public...

11
10.03.2020, 22:02

Не по теме:

Evreii, можете на меня злиться и возмущаться по типу "не хочешь помогать - проходи мимо", но мне кажется, что если вы сейчас пропустите этот самый начальный этап, то дальше уже точно сами ничего сделать не сможете.
У вас очень простое задание, чуть сложнее 2 + 2 = 4 из начальной школы. Попробуйте прочитать первые несколько глав любого нормального учебника и вы сделаете это задание сами. Неужели вам не интересно?

0
1 / 1 / 0
Регистрация: 02.03.2020
Сообщений: 106
10.03.2020, 22:15  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
Evreii, можете на меня злиться и возмущаться по типу "не хочешь помогать - проходи мимо", но мне кажется, что если вы сейчас пропустите этот самый начальный этап, то дальше уже точно сами ничего сделать не сможете.
У вас очень простое задание, чуть сложнее 2 + 2 = 4 из начальной школы. Попробуйте прочитать первые несколько глав любого нормального учебника и вы сделаете это задание сами. Неужели вам не интересно?
Категорически согласен, но даже небольшая помощь бы не помешала хотя-бы в объяснении.
0
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
10.03.2020, 22:19
Цитата Сообщение от Evreii Посмотреть сообщение
Категорически согласен, но даже небольшая помощь бы не помешала хотя-бы в объяснении.
* - разыменование
new typename - выделение памяти под typename, этот оператор вернёт указатель на выделенную память
& - взятие адреса (противоположность *)
будут конкретные вопросы, пишите
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
10.03.2020, 22:36
Evreii, давайте сначала выясним, откуда это задание? Можете привести его в оригинальном виде, а не в вашем пересказе?
0
1 / 1 / 0
Регистрация: 02.03.2020
Сообщений: 106
10.03.2020, 22:45  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
Evreii, давайте сначала выясним, откуда это задание? Можете привести его в оригинальном виде, а не в вашем пересказе?
Визначте і Ініціалізуйте змінну X типу int. Визначте покажчики char *, int *, double *, void *, Ініціалізуйте їх адресою змінної X. Надрукуйте значення покажчиків, їх розміри і довжини ділянок пам'яті, які пов'язані з виразами, що розіменовують покажчики.

Одно из заданий лабораторной работы. Определение и инициализацию я понял, вот немного проблема с указателями.
0
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
10.03.2020, 22:55

Не по теме:

[Удалено]



Добавлено через 2 минуты
Цитата Сообщение от Evreii Посмотреть сообщение
Определите указатели char *, int * double *, void *, инициализацию их адресу переменной X.
это типо через касты делать или через сишную манипуляцию с памятью?
0
1 / 1 / 0
Регистрация: 02.03.2020
Сообщений: 106
10.03.2020, 23:00  [ТС]
Цитата Сообщение от AndryS1 Посмотреть сообщение
это типо через касты делать или через сишную манипуляцию с памятью?
Манипуляции с памятью.
0
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
10.03.2020, 23:22
Лучший ответ Сообщение было отмечено Evreii как решение

Решение

Цитата Сообщение от Evreii Посмотреть сообщение
Манипуляции с памятью.
ну если так, я хз как это сделать без выделения памяти под каждый указатель
если не найдёте других вариантов - вот с кастами
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
int main()
{
    int* x = new int();
    char* cx = reinterpret_cast<char*>(x);
    double* dx = reinterpret_cast<double*>(x);
    void *vx = reinterpret_cast<void*>(x);
 
    std::cout << "int \t char \t double\n"
        << *x << '\t' << '\'' << *cx << '\'' << '\t' << *dx << "\t\n"; // как выводить значение void* сами думайте или спросите у того кто это придумал
    std::cout << "Address: " << x << std::endl;
    std::cout << "Size of char: " << sizeof(*cx) << std::endl;
    std::cout << "Size of double: " << sizeof(*dx) << std::endl;
    std::cout << "Size of int: " << sizeof(*x) << std::endl;
    std::cout << "Void hasn't got a size!"; 
}
0
1 / 1 / 0
Регистрация: 02.03.2020
Сообщений: 106
10.03.2020, 23:32  [ТС]
Цитата Сообщение от AndryS1 Посмотреть сообщение
ну если так, я хз как это сделать без выделения памяти под каждый указатель
если не найдёте других вариантов - вот с кастами
Спасибо за ваше решение, теперь разберусь над этим void.
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
10.03.2020, 23:56
Цитата Сообщение от Evreii Посмотреть сообщение
теперь разберусь над этим void.
Размеры указателей добавь:
Цитата Сообщение от Evreii Посмотреть сообщение
их размеры
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
11.03.2020, 00:27
Цитата Сообщение от AndryS1 Посмотреть сообщение
int* x = new int();
Цитата Сообщение от AndryS1 Посмотреть сообщение
double* dx = reinterpret_cast<double*>(x);
UB.
у double и int различные требования к выравниванию, например.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.03.2020, 00:27
Помогаю со студенческими работами здесь

Как инициализировать объектную переменную
Программа не компилируется. Вылетает ошибка &quot;Exception in thread &quot;main&quot; java.lang.NullPointerException at...

Если инициализировать переменную, то программа вылетает
Если не инициализировать a, то программа не вылетает и печатает введённую строку. #include &lt;stdio.h&gt; #define MAX 10 int...

Не получается инициализировать статическую переменную в классе
Привет. Прошу помощи понять что я делаю не так. Имеется иерархия классов в котором базовый класс имеет переменную sign_option, которая...

Как инициализировать переменную неактивным объектом?
Поля inputField и panel_2 проинициализируются только если соответствующие InputField и Panel активны, можно ли присвоить эти объекты,...

Как (можно ли) инициализировать переменную в структуре?
Как пример struct cifri { char one=&quot;ONE&quot;; }; Почему так нельзя и как можно?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru