Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
lips
5 / 5 / 3
Регистрация: 03.01.2012
Сообщений: 407
1

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

14.02.2015, 14:08. Просмотров 834. Ответов 6
Метки нет (Все метки)

объясните пожалуйста что я тут делаю:
C++
1
2
3
4
5
    char b[500];
    char* Buffer = &b[0];
 
 
    Buffer = "123";
и почему у меня после этого в char b пусто?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2015, 14:08
Ответы с готовыми решениями:

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

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

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

Как получить ссылку на указатель или указатель на указатель в массиве?
В процессе реализации сортировки пузырьком натолкнулся на такую проблему: как...

Написать функцию принимающую массив и возвращающую указатель на динамический массив
Написать функцию принимающую массив и возвращающую указатель на динамический...

6
nmcf
6274 / 5577 / 2537
Регистрация: 14.04.2014
Сообщений: 23,468
14.02.2015, 14:11 2
Потому что указатель изменился.
C++
1
strcpy(Buffer, "123");
1
Curry
2561 / 1724 / 220
Регистрация: 01.06.2013
Сообщений: 3,604
Записей в блоге: 7
14.02.2015, 14:14 3
Лучший ответ Сообщение было отмечено lips как решение

Решение

Строка 2 - Buffer стал указывать на начало массива b.
Строка 5 - Buffer стал указывать на строковую константу "123".
Для копирования нужно strcpy(Buffer,"123");
1
lips
5 / 5 / 3
Регистрация: 03.01.2012
Сообщений: 407
14.02.2015, 14:16  [ТС] 4
спасибо! везде использовал эту функцию, а с указателями решил принебречь ей, компилятор проигнорировал... а я и не заметил эту глупость
0
nmcf
6274 / 5577 / 2537
Регистрация: 14.04.2014
Сообщений: 23,468
14.02.2015, 14:37 5
Компилятор и не должен реагировать, это не синтаксическая ошибка.
0
Curry
2561 / 1724 / 220
Регистрация: 01.06.2013
Сообщений: 3,604
Записей в блоге: 7
14.02.2015, 14:50 6
Цитата Сообщение от nmcf Посмотреть сообщение
Компилятор и не должен реагировать, это не синтаксическая ошибка.
А мог бы и предупредить, что в указатель не на константу записывают адрес константной строки. Но не все предупреждают.
0
castaway
Эксперт С++
4930 / 3037 / 453
Регистрация: 10.11.2010
Сообщений: 11,116
Записей в блоге: 10
Завершенные тесты: 1
14.02.2015, 15:03 7
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
А мог бы и предупредить
Мог, но не обязан, т.к. это корректно с точки зрения языка.
0
14.02.2015, 15:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2015, 15:03

Что быстрее использовать, массив э-в, или указатель на массив э-в?
уважаемые, что быстрее использовать, массив э-в, или указатель на массив э-в?...

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

указатель и массив
подскажите плс эти две строки эквивалентны? char* str="bla bla bla"; char...


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

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

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