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

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

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

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

26.12.2012, 16:27. Просмотров 261. Ответов 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++
Скажите, почему этот код нельзя скомпилировать? double a; double *pa = &a; // !!!!! double *pa_2...

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

Массив и указатель - C++
При компиляции кода, приведенного ниже, вывод происходит со второго числа. Почему? int mass = {1, 2, 3, 4, 5, 6}; int *pmass = mass; ...

Указатель на массив - C++
Подскажите пожалуйста, как создать указатель на массив, если длина массива записана в переменной? Т.е проблема в том что в квадратных...

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

указатель и массив - C++
подскажите плс эти две строки эквивалентны? char* str="bla bla bla"; char str={"bla bla bla"}; Почему при выводе адреса 1...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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 пытался сделать на структурах и постоянно получал какие-то ошибки.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2012, 18:20     Указатель на массив
Еще ссылки по теме:

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

Указатель на массив - C++
Здравствуйте , подскажите пожалуйста , есть функция , вопрос заключается в указателе мне нужно передать массив в функцию через указатель (...

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

Указатель на многомерный массив - C++
Можно ли создать и передать указатель одной строкой или как-то попроще? int main() { int m; int *pa = m; int** a = ...


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

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.12.2012, 18:20     Указатель на массив #8
Не факт, что на строках будет не сложнее.
Yandex
Объявления
26.12.2012, 18:20     Указатель на массив
Ответ Создать тему
Опции темы

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