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

Обьясните простым языком об указателях * и & - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Помогите закончить программу! http://www.cyberforum.ru/cpp-beginners/thread520845.html
Не получается написать программу. Нужно подсчитать количество иногородних пациентов. #include <fstream.h> // для файловых потоков #include <iostream.h> #include <string.h> class person // класс person { protected: char name; char pol;
C++ Поиск инклудов под windows Мне нужно найти следующие инклуды: #include <sys/stat.h> #include <unistd.h> http://www.cyberforum.ru/cpp-beginners/thread520837.html
C++ Корректный ввод данных, goodbit,зацикливание
Всем привет! У меня вопрос следующего характера. Не понятно почему происходит зацикливание в следующем коде если за комментировать строчку №20 и рас комментировать строчку №23 : #include<iostream> #include<fstream> int main(void) { setlocale(LC_ALL,"Russian_Russia.1251");//коректное отображение Русского языка int itemp;//для ввода числа
Найти максимум из столбца матрицы! C++
Помогите пожалуйста написать прогу с использованием массивов и указателей "из введённой матрице пользователем найти максимум (каждого столбца ) и вывести полученный одномерный массив…"
C++ Исходник "Крестики нолики" http://www.cyberforum.ru/cpp-beginners/thread520794.html
Я знаю что такая тема жуе существовала. Но пример в нем немного сложный. Есть ли простой алгоритм програмы крестики нолики?
C++ Сложение множеств (set) В С++ есть встроенный класс Set<тип,минЭл,махЭЛ> Set1; как с помощью него вывести все элементы на экран? #pragma hdrstop #pragma argsused #include <iostream.h> #include <vcl.h> Set<int,1,5> a,s; подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
17.03.2012, 20:08     Обьясните простым языком об указателях * и &
* - доступ к памяти по указателю, & - взятие указателя по данному. То есть
C++
1
2
3
4
5
6
7
8
9
10
int a; // Здесь декларирован обычная переменная
int *b; // А это указатель, то есть целое специального вида, хранящее адрес обычного целого
b=a; // Указателю b присваивается значение переменной a, что не правильно, так как для хранения обычных целых указатели не предназначены
b=&a; // Указателю b присваивается адрес переменной a, для хранения которого указатель и предназначен
a=b; // Переменной a присваивается адрес из указателя b, что в большинстве случаев не правильно
a=*b; // Переменной a присваивается значение данного по адресу из указателя b, для такого применения адреса и предназначены
a=b[1]; // Переменной a присваивается значение следующей ячейки после той, чей адрес хранится в  указателе b, адреса предназначены и для такого применения
a=*(b+1); // Переменной a присваивается значение следующей ячейки после той, чей адрес хранится в  указателе b, адреса предназначены и для такого применения
a=b[-1]; // Переменной a присваивается значение предыдущей ячейки перед той, чей адрес хранится в  указателе b, адреса предназначены и для такого применения
a=*(b-1); // Переменной a присваивается значение предыдущей ячейки перед той, чей адрес хранится в  указателе b, адреса предназначены и для такого применения
На месте 1 и -1 моут быть любые обычные целые, будь то константы, или переменные.
C++
1
2
3
4
int a;
int *b;
int *c;
a=b-c; // Переменной a присваивается разность адресов в указателях b и c, измеренная в ячейках для хранения целого
C++
1
2
3
4
int a;
double *b;
double *c;
a=b-c; // Переменной a присваивается разность адресов в указателях b и c, измеренная в ячейках для хранения переменной типа double
 
Текущее время: 16:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru