0 / 0 / 0
Регистрация: 19.12.2015
Сообщений: 17

Объяснить различия в работе указателей на целое число и указателей на const char (строки в стиле Си)

26.12.2015, 03:28. Показов 942. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые программисты, возникло несколько вопросов касательно указателей.
  1. Почему при выводе указателя на int нужна звёздочка (*), а при выводе указателя на массив типа char нет?
  2. Почему не нужен значок амперсанда (&) для указателя на массив.
  3. Почему при выводе массива значений int, звёздочка (*) всё же нужна, а при выводе массива значений char нет?
C++
1
2
3
4
5
6
7
8
int a = 5;
    int *p = &a;
    cout << *p << endl;
    char *p1 = "I love school";
    cout << (p1+3);
    int d[3] = {1,2,3};
    int *p2 = d;
    cout << *(p2+1);
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.12.2015, 03:28
Ответы с готовыми решениями:

Различия указателей char* от указателей других типов
Помогите пожалуйста разобраться! Прочитал раздел про указатели и даже вроде бы понял. Что касается указателей на тип int. Но что...

Напишите программу, присваивающую значения элементов списка указателей на символьные строки в стиле С (тип char* ) элементам вектора строк
Напишите программу, присваивающую значения элементов списка указателей на символьные строки в стиле С (тип char* ) элементам вектора строк...

Cоздать и заполнить массив строк в стиле Си (квадратную матрицу указателей на char)
Нужно создать массив символьных указателей на 10 элементов и выполните вывод всех строк в 10 столбиков Нужно заполнить массив...

1
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
26.12.2015, 03:46
Цитата Сообщение от 96and Посмотреть сообщение
Почему при выводе указателя на int * нужна а при выводе указателя на массив типа char нет?
Такая уже реализация стандартной библиотеки - для const char* у потока переопределен operator<<
Цитата Сообщение от 96and Посмотреть сообщение
И почему не нужен значек амперсанта для указателя на массив.
Переменная-массив хранит в себе адрес первого элемента массива, как указатель. Поэтому ты как бы копируешь значение одного указателя в другой.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.12.2015, 03:46
Помогаю со студенческими работами здесь

Создать специфицированный шаблон функции, принимающей массив указателей на char и количество самих указателей
Задача: создать специфицированный шаблон функции, принимающей массив указателей на char и количество самих указателей. Вернуть адрес...

Создать специализацию для шаблона, которая принимает массив указателей на строки и количество этих указателей
Нужно создать специализацию для шаблона, которая принимает массив указателей на строки и количество этих указателей. Эта специализация...

Шаблон, специализация: поиск самой большой строки в массиве указателей на char
Есть почти готовое решение,помогите пожалуйста доделать,немного не понимаю #include &lt;cstdlib&gt; #include &lt;iostream&gt; ...

Приведение указателей в стиле си
Здравствуйте, это наверное самый дурацкий вопрос но что значит скобочки в c++ т.е вот например дан код: void* p = (int *)&amp;ip; и...

array char* to char* (значения массива указателей в один указатель)
Как сложить(или вывести в формате char*) все значения массива указателей(char *) воедино, то есть сложить строки и назначить результату...


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

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

Новые блоги и статьи
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг. Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя. Странные серые краски проникают и. . .
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
Dispose и Finalize в C#
stackOverflow 12.06.2025
Работая с C# больше десяти лет, я снова и снова наблюдаю одну и ту же историю: разработчики наивно полагаются на сборщик мусора, как на волшебную палочку, которая решит все проблемы с памятью. Да,. . .
Повышаем производительность игры на Unity 6 с GPU Resident Drawer
GameUnited 11.06.2025
Недавно копался в новых фичах Unity 6 и наткнулся на GPU Resident Drawer - штуку, которая заставила меня присвистнуть от удивления. По сути, это внутренний механизм рендеринга, который автоматически. . .
Множества в Python
py-thonny 11.06.2025
В Python существует множество структур данных, но иногда я сталкиваюсь с задачами, где ни списки, ни словари не дают оптимального решения. Часто это происходит, когда мне нужно быстро проверять. . .
Работа с ccache/sccache в рамках C++
Loafer 11.06.2025
Утилиты ccache и sccache занимаются тем, что кешируют промежуточные результаты компиляции, таким образом ускоряя последующие компиляции проекта. Это означает, что если проект будет компилироваться. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru