Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.84/37: Рейтинг темы: голосов - 37, средняя оценка - 4.84
unreal
0 / 0 / 1
Регистрация: 26.02.2012
Сообщений: 118
#1

Как отличить разыменование от указателя?

08.03.2012, 15:34. Просмотров 6621. Ответов 9
Метки нет (Все метки)

люди помогите отличить разыменование от указателя.дайте ссылку ,книгу хот что угодно.я читал много книг но ни в одном не нашел чтоб там было и разыменование и указатель.у всех один ест а другой нету(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2012, 15:34
Ответы с готовыми решениями:

Разыменование указателя!
Всем привет, объясните почему и как это работает? int (*pf)(void); int...

Разыменование указателя this
Здравствуйте, Имеется код с перегрузкой оператора "+", объясните...

Разыменование указателя
Есть некий указатель на объект класса? Class1 *ptr = new Class1(); Можно ли...

Разыменование указателя на указатель
в функцию передается указатель на указатель класса, что бы получить доступ к...

Разыменование нулевого указателя
Как вообще по стандарту ведет себя программа после разыменования нулевого...

9
NoMasters
Псевдослучайный
1909 / 1120 / 90
Регистрация: 13.09.2011
Сообщений: 3,181
08.03.2012, 15:43 #2
Указатель никого не ест. А разыменование — лишь способ получения объекта по указателю и это есть в любой книге.
1
Петррр
6156 / 3456 / 896
Регистрация: 28.10.2010
Сообщений: 5,926
08.03.2012, 15:46 #3
Указатель переменная, хранящая в себе адрес ячейки памяти.
тип *имя_переменной;
Где тип это тип данных который расположен по адресу который хранится в имя_переменной

Дейтелы, 5-е издание, 509 страница:
Операция *, обычно называется операцией разыменования или операцией косвеной адресации, возвращает синоним (т.е. псевдоним) для объекта, на который указывает ее операнд-указатель.
1
unreal
0 / 0 / 1
Регистрация: 26.02.2012
Сообщений: 118
08.03.2012, 15:49  [ТС] #4
Цитата Сообщение от NoMasters Посмотреть сообщение
Указатель никого не ест. А разыменование — лишь способ получения объекта по указателю и это есть в любой книге.
в моих книгах нету.вы не могли бы писать имя книги ?
0
unreal
0 / 0 / 1
Регистрация: 26.02.2012
Сообщений: 118
08.03.2012, 17:27  [ТС] #5
напишите прогу в которой невозможно обойтись без указателя
0
go
Эксперт С++
3636 / 1368 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
08.03.2012, 17:54 #6
Цитата Сообщение от unreal Посмотреть сообщение
напишите прогу в которой невозможно обойтись без указателя
Допусти необходимо
Код
Создаем массив(кол-во элементов передается через командную строку)
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/*
 *      Создаем массив(кол-во элементов передается через командную строку)
 */
 
#include <stdio.h>
#include <stdlib.h>
 
#define MAX 10
 
int array(const int);
    
int main(int argc, char* argv[])
{
    size_t size;
    
    if ( argc != 2 )
    {
        fprintf(stderr, "%s: error arg\n", argv[0]);
        exit(1);
    }
    
    sscanf(argv[1], "
", &size);
    
    exit(array(size));
}
 
int array(const int SIZE)
{
    int* arr = NULL;
    size_t i;
    
    if ( !(arr = malloc(SIZE * sizeof *arr)) )
    {
        fprintf(stderr, "Error memory\n");
        return 1;
    }
    
    for ( i = 0 ; i < SIZE ; ++i )
    {
        arr[i] = rand() % MAX;
        printf("%5d", arr[i]);
    }
    
    printf("\n");
    
    free(arr);
    
    return 0;
}
Bash
1
2
3
4
5
6
‘‚@ANDREY-PC /c/mingw
$ gcc -o addr addr.c
 
‘‚@ANDREY-PC /c/mingw
$ addr.exe 2
    1    7
1
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
08.03.2012, 17:54 #7
Цитата Сообщение от unreal Посмотреть сообщение
напишите прогу в которой невозможно обойтись без указателя
Получить значение какого-нибудь участка памяти.
C++
1
2
3
4
5
6
7
#include <iostream>
 
int main()
{
    int *p = reinterpret_cast< int * > (0xDEADBEEF);
    std::cout << *p;
}
Больше в с++ они нигде, в общем-то, не нужны.
1
go
Эксперт С++
3636 / 1368 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
08.03.2012, 18:02 #8
Цитата Сообщение от go Посмотреть сообщение
sscanf(argv[1], "
", &size);
Не понимаю: почему так криво код скопировался? О_о

Добавлено через 6 минут
Цитата Сообщение от diagon Посмотреть сообщение
Больше в с++ они нигде, в общем-то, не нужны.
В Си, например, нельзя без них изменить значение в функции
1
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
08.03.2012, 18:08 #9
Цитата Сообщение от go Посмотреть сообщение
В Си, например, нельзя без них изменить значение в функции
Цитата Сообщение от diagon Посмотреть сообщение
Больше в с++ они нигде, в общем-то, не нужны.
5букв
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
08.03.2012, 20:24 #10
Цитата Сообщение от diagon Посмотреть сообщение
Больше в с++ они нигде, в общем-то, не нужны.
Не согласен. Как минимум в программах, в которых используется динамический полиморфизм. Иногда, конечно, можно обходиться ссылками, но они всё таки являются не совсем полноценной заменой указателям, да и указатели как-то привычнее.
1
08.03.2012, 20:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2012, 20:24

Разыменование указателя в структуре
Всем привет,нужна помощь. Есть такое описание структуры: struct st{ int*...

Разыменование указателя, не передается правильное значение
Здравствуйте, есть следующий код: for (int i = 0; i &lt; arr.size(); i++) {...

Произведение двух матриц через разыменование указателя
программа должна вывести матрицу, которая есть результатом умножения двух...


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

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

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