Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Donnerwetter
40 / 40 / 17
Регистрация: 04.02.2014
Сообщений: 144
#1

Как передвигать указатель на следующий элемент массива структур? - C++

19.08.2014, 13:34. Просмотров 840. Ответов 3
Метки нет (Все метки)

Вопрос относительно использования символа стрелка '->'.
Допустим, есть такой код:
Кликните здесь для просмотра всего текста
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
#include<iostream>
using namespace std;
 
struct man
{
    char name[20];
    int age;
};
 
int main()
{
    cout << "Enter men amount: ";
    int amount;
    cin >> amount;
    cin.ignore();
    man *list = new man[amount];
 
    for (int i = 0; i < amount; ++i)
    {
        cout << "Man #" << i + 1 << " name: ";
        cin.getline(list[i].name, 20);
        cout << "Man #" << i + 1 << " age: ";
        cin >> list[i].age;
        cin.ignore();
    }
 
    for (int i = 0; i < amount; i++)
    {
        cout << "Man #" << i + 1 << ":\n";
        cout << list[i].name << " " << list[i].age << endl;
    }
    return 0;
}


Можно ли в цикле for применять такую форму записи:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
for (int i = 0; i < amount; ++i)
    {
        cout << "Man #" << i + 1 << " name: ";
        cin.getline(list->name, 20);
        cout << "Man #" << i + 1 << " age: ";
        cin >> list->age;
        cin.ignore();
    }

и как в таком случае передвигать указатель на следующий элемент массива структур?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2014, 13:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как передвигать указатель на следующий элемент массива структур? (C++):

Как передвигать указатель чтобы выделить память под новый элемент и добавить новый элемент в массив?
Допустим есть некое условие,нам нужно при каждом его выполнении выделить память...

Указатель на следующий элемент структуры
Как преобразовать строку myArray.next = &amp;myArray.x; , чтобы она правильно...

Как передвигать указатель на разное количество байт?
В общем проблема такая, нужно создать динамический массив из элементов дабл в...

Передвинуть указатель на следующий элемент структуры
Есть структура struct reklama //Создаем структуру! { char zakazchik;...

Указатель в списке ссылается на себя, а не на следующий элемент
Уважаемые, форумчане! Помогите разобраться в вопросе. Я хочу реализовать...

Передача массива структур в функцию через указатель
вот пример куска кода, не могу понять почему ругается на: void Add(student...

3
John Prick
831 / 764 / 256
Регистрация: 27.07.2012
Сообщений: 2,176
Завершенные тесты: 3
19.08.2014, 13:38 #2
Лучший ответ Сообщение было отмечено Donnerwetter как решение

Решение

Цитата Сообщение от Donnerwetter Посмотреть сообщение
Можно ли в цикле for применять такую форму записи
Применять-то конечно можно, только будете всегда указывать на первый элемент массива.

Вот так пойдёт:
C++
1
(list + i)->name
1
Fallenworld
76 / 76 / 32
Регистрация: 14.04.2014
Сообщений: 408
19.08.2014, 13:41 #3
Как и во всех массивах С++, имя - это указатель на его 1ый элемент.
инкремент передвигает указатель на следующий
C++
1
list++
как написано выше можно и так
C++
1
(list+i)
в этом случае list продолжить указывать на 1ый элемент массива.

П.С. пожелание: допиши в конец
C++
1
delete [] list
чтобы ресурсы не утекали...
П.П.С. напомню, что 1ый элемент имеет номер 0
1
Donnerwetter
40 / 40 / 17
Регистрация: 04.02.2014
Сообщений: 144
19.08.2014, 13:53  [ТС] #4
Цитата Сообщение от John Prick Посмотреть сообщение
Вот так пойдёт
то, что доктор прописал!
Цитата Сообщение от Fallenworld Посмотреть сообщение
list++
как раз вот так и пробовал, не работает, поэтому решил спросить; а про delete забыл, спасибо за напоминание

вопрос решен.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2014, 13:53
Привет! Вот еще темы с решениями:

Можно ли представить структуру как элемент массива, т е массив состоящий из однотипных структур
Можно ли представить структуру как элемент массива, т е массив состоящий из...

Найти следующий по величине после минимального элемент массива
Задан одномерный массив чисел. Написать программу которая находит следующий по...

Исключить из массива первый положительный элемент, следующий за максимальным
Дан одномерный массив А, состоящий из N элементов.Исключить из массива первый...

В программе имеется следующий фрагмент: const char a='*'; char ch; как объявится указатель-переменная
В программе имеется следующий фрагмент: const char a='*'; char ch; как...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru