Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
 Аватар для Krist_ALL
10 / 10 / 2
Регистрация: 01.02.2010
Сообщений: 317

Вопрос про указатели

01.02.2010, 14:53. Показов 4181. Ответов 46
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
char *a = "s";
1. Выделяется место в памяти
2. В это место записывается s
3. Указателю a приваивают адрес памяти где храниться s
так?

а почему нельзя вот так
C++
1
int *a = 5;
Ну никак не пойму. Объясните пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.02.2010, 14:53
Ответы с готовыми решениями:

Вопрос про указатели
#include <iostream.h> int main() { int x; int *Pointer; pointer = &x; cout << pointer; cout << *ponter; return 0; ...

Вопрос про указатели на массивы
В книге написано int a; int *p; p = &a; //У меня выдает ошибку p = &a; //Так работает p = ПОЛУЧИТЬ_адрес_объекта - Это...

Про указатели
В среде C++ Builder разбираюсь с логикой работы с указателями. По определению (в моем его понимании) указатель это адрес в памяти на...

46
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
03.02.2010, 20:08
Студворк — интернет-сервис помощи студентам
не вижу никакого смысла спорить с упрямцами. столкнутся с чем-нибудь кроме решения задачника - сами поймут.
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
04.02.2010, 03:57
Цитата Сообщение от Krist_ALL
угу(
непонял вот это
Цитата Сообщение от accept
C
1
char *a = 's';
не сработает
's' преобразуется в код символа s из таблицы символов
в таблице ASCII код символа s равен 0x73
в десятичной системе 0x73 равно 115

получается, что
C
1
char *a = 's';
равно
C
1
char *a = 0x73;
равно
C
1
char *a = 115;
115 или 0x73 или 's' не имеет адреса
мы не можем сделать
C
1
char *a = &'s';
потому что 's' - это не объект, адрес которого можно узнать, а символьная константа
символьная константа преобразуется в целочисленную константу
целочисленная константа - это число
число - это значение

a - это переменная, даже char *a - это переменная
это переменная потому, что её значение может меняться в течение программы

значением переменной типа указатель на какой-то тип X является адрес объекта типа X
переводим
значением переменной типа указатель на тип char является адрес объекта типа char

C
1
char *a = 115;
выдаст ошибку, потому что переменной типа указатель на символ присваивается целое число
этой переменной должен присваиваться указатель на символ
указатель на символ - это адрес символа
поэтому, если мы хотим поместить адрес напрямую, мы должны целое число привести к типу указателя на символ

C
1
char *a = (char *) 115;
в переменную a запишется адрес, который равен 115

C
1
printf("%p" "\n", a);
покажет 0x73

C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <stdlib.h>
 
int main(void) /* C89 ANSI */
{
    char *a;
    
    a = (char *) 115;
    
    printf("%p" "\n", a);
    
    exit(EXIT_SUCCESS);
}
0
 Аватар для Krist_ALL
10 / 10 / 2
Регистрация: 01.02.2010
Сообщений: 317
06.02.2010, 13:12  [ТС]
Что такое массив указателей и нафик он нужен?
C++
1
2
3
4
5
char *wday[] = {"Воскресенье","Понедельник","Вторник",
 
"Среда","Четверг","Пятница","Суббота",
 
"Неизвестен"};
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
06.02.2010, 13:30
Цитата Сообщение от Krist_ALL Посмотреть сообщение
Что такое массив указателей и нафик он нужен?
C++
1
2
3
4
5
char *wday[] = {"Воскресенье","Понедельник","Вторник",
 
"Среда","Четверг","Пятница","Суббота",
 
"Неизвестен"};
для получения названия дня недели по порядковому номеру например:

C++
1
2
3
4
char *pDayname = wday [7];
if (n < 7){
   pDayname = wday [n];
}
1
 Аватар для Krist_ALL
10 / 10 / 2
Регистрация: 01.02.2010
Сообщений: 317
07.02.2010, 14:56  [ТС]
А вот еще вопросец:
C++
1
int *arr = new int[5];//Выделяем память под 5 чисел типа инт и присваиваем указателю arr адрес начала блока памяти из 5 штук типа инт
Я хочу присвоить число 10 arr[0]
почму я должен писать arr[0] = 10;
а не *arr[0] =10;
раньше понимал ща забыл((((
0
81 / 39 / 3
Регистрация: 29.01.2010
Сообщений: 386
07.02.2010, 19:50
Цитата Сообщение от Krist_ALL Посмотреть сообщение
А вот еще вопросец:
C++
1
int *arr = new int[5];//Выделяем память под 5 чисел типа инт и присваиваем указателю arr адрес начала блока памяти из 5 штук типа инт
Я хочу присвоить число 10 arr[0]
почму я должен писать arr[0] = 10;
а не *arr[0] =10;
раньше понимал ща забыл((((
Потому что когда ты пишешь arr[0] = 10; - 10 ты присваиваешь переменной-указателю arr.
А когда *arr[0] =10; - ты присваиваешь 10 не указателю, а переменной, на которую этот указатель указывает.
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
08.02.2010, 02:39
Krist_ALL, когда такую строку записал, сразу после неё delete [] пиши, если даже не используешь - комментируй, но чтобы было

Цитата Сообщение от Krist_ALL
Я хочу присвоить число 10 arr[0]
*arr = 10;
arr[0] = 10;

*arr[0] работает так: сначала берётся значение из arr[0], потом к этому значению применяется разыменование * (как будто в arr[0] хранится адрес, хотя там значение типа int)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.02.2010, 02:39

Про указатели
Здравствуйте я совсем маленький C++ программер, вот сейчас разбираюсь с указателями. Подскажите пожалуйста. В книге встретил пример,...

Про указатели .
Всем привет: Продолжаю свою традицию: Вот придумал необычную задачку, может кому то она покажется неинтересной, сложная или простая...

Опят про указатели)
int a = 5; int *b =&amp;a; cout &lt;&lt;*b&lt;&lt;endl; *b++; cout &lt;&lt;*b&lt;&lt;endl; В строке 4 что происходит? По идее если * то мы работаем...

Про массивы и указатели
#include &lt;iostream&gt; using namespace std; int Digit = { {1,8,6,7},{3,2,9,4},{5,1,2,7},{8,6,2,5} }, test; int main() { ...

Пояснить про указатели и ссылки
есть переменное и указатель.. Значение нашей переменной случайный адрес, Как менять адрес указателя, таким образом, что бы она стала...


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

Или воспользуйтесь поиском по форуму:
47
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru