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

Указатели :) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проверьте правильность кода. Почему выдаёт ошибку? http://www.cyberforum.ru/cpp-beginners/thread250810.html
Написать программу, которая считывает текст из файла, находит самое длинное слово и определяет, сколько раз оно встретилось в тексте. Текст программы #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <windows.h>
C++ закрытие программы Здравствуйте господа програмисты!у меня такой вопрос-допустим известно что открыта какая то программа,могу ли я её програмно закрыть если да,то как? Всем заранее огромное спасибо!!! Добавлено через 1 минуту на языке с++ http://www.cyberforum.ru/cpp-beginners/thread250794.html
C++ Определить, пересекаются ли прямая и окружность
Задана окружность с центром в точке О(x0,y0) и радиусом R и прямая у=ах+b. Определить, пересекаются ли прямая и окружность. При положительном ответе найти точки пересечения
Задание на C C++
Ребята помогите решить задание.
C++ Сформировать одномерный массив целых чисел, используя датчик случайных чисел http://www.cyberforum.ru/cpp-beginners/thread250778.html
Условие такое 1.Сформировать одномерный массив целых чисел, используя датчик случайных чисел. Распечатать полученный массив. 2.Удалить 5 последних элементов массива. 3.Добавить в начало массива 3 элемента с значением M+2. Распечатать полученный массив. Делаю. #include <iostream.h>
C++ Матрицы и строки Прошу помочь с решением задач: С клавиатуры вводится матрица размером n x m: 1)Вычислить сумму всех чисел кратных трем в этой матрице и заменить максимальный элемент на эту сумму. 2)Заменить все четные элементы в заданном столбце на минимальный элемент. Строки: 1)С клавиатуры вводится строка символов состоящая из слов. Удалить из строки все слова длиной четыре символа. 2)С клавиатуры... подробнее

Показать сообщение отдельно
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
03.03.2011, 17:45     Указатели :)
m[2][3]: это понятно
*(m[2] + 3): m[2] здесь - это указатель, третий по счёту в массиве указателей m. Прибавив к нему 3, мы сместимся в массиве, на который указывает этот указатель, на 3 элемента, а после разыменования получим значение элемента m[2][3]
(*(m + 2))[3]: аналогично предыдущему, только тут мы смещаемся сначала в массиве указателей, а потом применяем явную индексацию с помощью [].
3[m[2]]: конструкцию ptr[index] компилятор разворачивает в конструкцию *(ptr + index). А, значит, конструкцию index[ptr] компилятор развернёт в *(index + ptr), что эквивалентно первому. Если m[2][3] - это *(*(m + 2) + 3), то 3[m[2]] - это *(3 + *(m + 2)), что эквивалентно первому варианту.
3[2[m]]: аналогично, получим конструкцию *(3 + *(2 + m)), что аналогично *(*(m + 2) + 3).
 
Текущее время: 04:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru