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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
#1

Как задать указатель для структуры (и не только) - C++

18.08.2013, 14:25. Просмотров 517. Ответов 8
Метки нет (Все метки)

Есть такая задача:

Напишите фрагмент кода, который динамически выделит память для структуры, описанной в вопросе 6, и затем прочитает в нее значение члена name.

Задача 6 звучит так: Предложите объявление структуры, описывающей рыбу. Структура должна включать вид, вес в полных унциях и длину в дробных дюймах.

Вот я написал структуру:

C++
1
2
3
4
5
6
struct fish 
{
string name, 
int weight, 
float length
};
А как инициализировать указатель на структуру? И, в частности, на массивы и вообще все, что требует сразу инициализации.
Вот например для обычного указателя инициализация: int* value = new int;
А с массивами и структурами как?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2013, 14:25     Как задать указатель для структуры (и не только)
Посмотрите здесь:

Указатель на следующий элемент структуры C++
C++ указатель масива структур из структуры
Указатель на Массив Структуры C++
Задать указатель C++
Увеличить указатель на размер адресуемой структуры C++
Указатель на привязанную функцию можно использовать только для вызова функции C++
C++ Увеличить указатель на размер адресуемой им структуры
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
18.08.2013, 14:40     Как задать указатель для структуры (и не только) #2
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
#include <iostream>
#include <string>
using namespace  std;
 
struct fish {
    string name;
    int weight;
    float length;
};
 
int main()
{
    struct fish* pFish = new fish;
    cout <<"Type the name: "; cin >> pFish->name;
    cout <<"Type the weight: "; cin >> pFish->weight;
    cout <<"Type the length "; cin >> pFish->length;
 
    cout <<endl;
 
    cout <<pFish->name <<' '
        <<pFish->weight <<' '
          <<pFish->length <<endl;
 
    delete pFish;
    return 0;
}
Структуры и массивы не требуют инициализации немедленно. Более того, массив, выделенный динамически НЕ МОЖЕТ быть инициализирован. (Кроме массивов объектов классов)
с массивами точно также:
C++
1
T tArr[size] = new T[size]
Hugra
47 / 47 / 1
Регистрация: 18.07.2013
Сообщений: 138
Записей в блоге: 1
18.08.2013, 14:41     Как задать указатель для структуры (и не только) #3
C++
1
2
fish *pfish = new fish; //указатель на структуру
fish *pArrFish = new fish[SIZE]; //указатель на массив структур размером SIZE
metagalaxy
7 / 7 / 2
Регистрация: 18.02.2012
Сообщений: 61
18.08.2013, 14:41     Как задать указатель для структуры (и не только) #4
fish * pt;
))


ахахах ничего себе ребят вы ему тут уже все написали за него) дайте хоть человеку подумать
CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
18.08.2013, 14:47  [ТС]     Как задать указатель для структуры (и не только) #5
Цитата Сообщение от Hugra Посмотреть сообщение
C++
1
2
fish *pfish = new fish; //указатель на структуру
fish *pArrFish = new fish[SIZE]; //указатель на массив структур размером SIZE
А если этот массив нужно задать значениями например?
metagalaxy
7 / 7 / 2
Регистрация: 18.02.2012
Сообщений: 61
18.08.2013, 14:49     Как задать указатель для структуры (и не только) #6
Цитата Сообщение от CHELOVEKPAUK Посмотреть сообщение
А если этот массив нужно задать значениями например?
cin >> pFish[0].name;
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
18.08.2013, 14:56     Как задать указатель для структуры (и не только) #7
Цитата Сообщение от metagalaxy Посмотреть сообщение
fish * pt;
fish*
CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
18.08.2013, 15:04  [ТС]     Как задать указатель для структуры (и не только) #8
Цитата Сообщение от metagalaxy Посмотреть сообщение
cin >> pFish[0].name;
Нет, прям в коде нужно задать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2013, 15:15     Как задать указатель для структуры (и не только)
Еще ссылки по теме:

C++ Чтение структуры из файла, глобальный указатель
Как глобально объявить указатель структуры, и переменные хранящиеся в ней? C++
C++ Указатель на член структуры/класса
Как обратиться к полям структуры через указатель и объявление указателя на структуру C++
C++ Передвинуть указатель на следующий элемент структуры

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

Или воспользуйтесь поиском по форуму:
metagalaxy
7 / 7 / 2
Регистрация: 18.02.2012
Сообщений: 61
18.08.2013, 15:15     Как задать указатель для структуры (и не только) #9
Цитата Сообщение от CHELOVEKPAUK Посмотреть сообщение
Нет, прям в коде нужно задать
Ну так задай в коде, в чем проблема-то? Смысл вообще, что мы что-то тут пишем, если ты не понимаешь нифига?

Добавлено через 2 минуты
Учись думать головой, ты же по книге занимаешься.
Yandex
Объявления
18.08.2013, 15:15     Как задать указатель для структуры (и не только)
Ответ Создать тему
Опции темы

Текущее время: 21:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru