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

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

Войти
Регистрация
Восстановить пароль
 
maSt
5 / 5 / 1
Регистрация: 28.02.2010
Сообщений: 166
#1

Указатель на массив - C++

26.12.2012, 16:27. Просмотров 264. Ответов 7
Метки нет (Все метки)

Есть такая структура
C++
1
2
3
4
5
6
7
8
struct Elem
{
    char cos;
    Elem * next;
    Elem * prev;
 
};
Elem * Head=NULL,*Tail=NULL;
есть указатель на массив размера n
C++
1
Elem * lancuch = new Elem[n];
1 вопрос, такая запись выделяет место на элементы массива или сразу же сама их объявляет?

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

3 можете ли показать маленький пример как привязать к какому-то элементу однонаправленный список?

я пытался это сделать так
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if (poczatek==NULL)
    {
        elem[numer].cos=p;
        poczatek=(elem+numer);
        elem[numer].nastepny=NULL;
    }
    else
    {
        elem[numer].nastepny = new Lancuch;
        elem= elem[numer].nastepny;
        elem[numer].cos=p;
        elem[numer].nastepny=NULL;
 
    }
Но тут есть как минимум две ошибки
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2012, 16:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Указатель на массив (C++):

Реализовать 3 функции, каждая из которых принимает указатель на массив и количество элементов и возвращает указатель на новый массив. - C++
Пишу в Microsoft Visual Studio ->Win32 Console application ->C++. Условие:Реализовать 3 функции, каждая из которых принимает указатель на...

Как сделать функцию, возвращающую указатель на функцию (которая в свою очередь возвращает указатель на массив) - C++
Изучаю c++ по одной книжке.Она говорить не умеет.. Так вот понадобилось написать функцию,которая как параметр получает указатель на...

Динамический массив и указатель на указатель - C++
Спасибо за внимание) Задача такова: нужно удалить элемент по индексу, при этом уменьшить сам массив на 1 (т.е. удалили элемент - уменьшился...

Как получить ссылку на указатель или указатель на указатель в массиве? - C++
В процессе реализации сортировки пузырьком натолкнулся на такую проблему: как поменять значения указателей, передаваемых в функцию. Если...

Написать функцию принимающую массив и возвращающую указатель на динамический массив - C++
Написать функцию принимающую массив и возвращающую указатель на динамический массив содержащий первые n нaибольших чисел. Как сделать...

Что быстрее использовать, массив э-в, или указатель на массив э-в? - C++
уважаемые, что быстрее использовать, массив э-в, или указатель на массив э-в? или без разницы? С одной стороны обращается все к той же...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.12.2012, 16:34 #2
Цитата Сообщение от maSt Посмотреть сообщение
вопрос, такая запись выделяет место на элементы массива или сразу же сама их объявляет?
Объявляешь ты и ты объявил только указатель то ли на структуру (элемент списка), то ли на массив таких структур.

Добавлено через 1 минуту
Цитата Сообщение от maSt Посмотреть сообщение
2 вопрос, могу ли я к каждому из элементов привязать однонаправенный список?
Нет, так как базовый тип массива совпадает с типом элемента двусвязного списка.
maSt
5 / 5 / 1
Регистрация: 28.02.2010
Сообщений: 166
26.12.2012, 17:22  [ТС] #3
Тогда я попытаюсь сделать через массив строк(string)
C++
1
string  arr[] = new string[arr_size];
Но вот так new показывает как ошибку , почему?
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.12.2012, 17:29 #4
Цитата Сообщение от maSt Посмотреть сообщение
Но вот так new показывает как ошибку , почему?
Пустые квадратные скобки - это обычный массив автоматически определяемого размера. Он тоже статический/автоматический, как и при указании размера в скобках, просто не надо вручную считать элементы. Он тоже резервируется. А new - это динамическое выделение. И почему вдруг перескок на строки?
maSt
5 / 5 / 1
Регистрация: 28.02.2010
Сообщений: 166
26.12.2012, 17:41  [ТС] #5
Просто нужно смоделировать добавление к гирлянде новых элементов, я пытался сделать это на структурах.
Создать массив и к нужным элементам массива добавлять новые плюшки на гирлянду.
А если на структурах сделать это будет тяжело , то проще сделать массив string , будет намного проще добавлять и удалять элементы
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.12.2012, 18:01 #6
Цитата Сообщение от maSt Посмотреть сообщение
Просто нужно смоделировать добавление к гирлянде новых элементов, я пытался сделать это на структурах.
Ну и делай на структурах, как хотел. Зачем перескакивать на строки? Я тебе ответил, что именно твоя структура соответствует списку другой связности, ты от этого перескакиваешь на строки. Следующим будет лес?
maSt
5 / 5 / 1
Регистрация: 28.02.2010
Сообщений: 166
26.12.2012, 18:19  [ТС] #7
Да просто я уже дня 4 пытался сделать на структурах и постоянно получал какие-то ошибки.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.12.2012, 18:20 #8
Не факт, что на строках будет не сложнее.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2012, 18:20
Привет! Вот еще темы с ответами:

указатель на массив - C++
Добрый день, объясните как верно будет. например определим массив char array = {"qaqaqaqqa"} к примеру есть функция void primer(...

Указатель на массив - C++
объясните пожалуйста что я тут делаю: char b; char* Buffer = &b; Buffer = "123"; и почему у меня после этого в char b...

Указатель и массив - C++
#include <iostream> #include <conio.h> using namespace std; int main () { setlocale (0,""); int *a,size; cout <<...

Указатель на массив - C++
Не могу разобраться в указателях. Допустим есть двумерный массив, выводятся поочереди 19 элементов. Если я в инструкции if поменяю...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.12.2012, 18:20
Ответ Создать тему
Опции темы

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