Форум программистов, компьютерный форум, киберфорум
Наши страницы

Указатели (pointers) и их практический смысл? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сдвинуть элементы массива вправо циклически на 1 шаг http://www.cyberforum.ru/cpp-beginners/thread1203363.html
Задан одномерный массив целых чисел длины n. Сдвинуть элементы массива вправо циклически на 1 шаг. Пример входных данных 4 1 2 3 4 Пример выходных данных 4 1 2 3 Вот мой код (не сдвигает...
C++ Вычислить площадь полной поверхности правильной четырёхугольной пирамиды Вычислить площадь полной поверхности правильной четырёхугольной пирамиды со стороной основания a и высотой h. Технические условия Входные данные В единственной строке через пробел сторона... http://www.cyberforum.ru/cpp-beginners/thread1203355.html
C++ Пожалуйста, переведите с Pascal на C++
Помогите, пожалуйста. Времени в обрез. var arr: array of integer; i,n: integer; begin read(n); for i := 1 to n do begin read(arr);
C++ Как объединить с++ и sql server
Ребят скажи пожалуйста как объединить с++ и sql server. Сделал программу и бд, а как все это объединить не могу разобраться
C++ Нужны задачи для их решения http://www.cyberforum.ru/cpp-beginners/thread1203329.html
Здравствуйте. Нужны задачи для закрепления изученного материала. Что интересует(с чем я могу работать(база)): "напечатать", объявление переменных, работа с cout, sin, endl, различные...
C++ Переделать scanf, printf в cin, cout Как в этом коде заменить scanf, printf на cin, cout. А FILE * f = fopen изменить на ifstream in("INPUT.TXT"); ofstream out("OUTPUT.TXT"); используя только библиотеку #include <fstream>. А метки... подробнее

Показать сообщение отдельно
IrineK
Заблокирован
09.06.2014, 12:44
Цитата Сообщение от Croessmah Посмотреть сообщение
даже, если Вы этого не видите
doctormc, действительно, вы наверняка уже сталкивались с указателями, если уже читаете о них ), просто не замечали.

****************************************************************************
Допустим, мы хотим распечатать массив и оформить это отдельным методом.

Если действуем, казалось бы, без указателей
Вариант 1
C++
1
2
3
void PrintArray(int num[10])
{ //...
}
Однако даже здесь передается не весь массив, а только указатель на первый элемент.

Если сделаем так (передаем массив без размера)
Вариант 2
C++
1
2
3
void PrintArray(int num[])
{//...
}
Данный метод также определяет num как целочисленный указатель.

Ну, и если сделаем так
Вариант 3
C++
1
2
3
void PrintArray(int *num)
{ //...
}
мы непосредственно определили, что передаем указатель.

Но при этом во всех трёх вариантах передаётся указатель на первый элемент, а не весь массив.

*****************************************************************************
P.S. Я подобные методы обычно определяю так:
Для одномерного массива
C++
1
2
3
void PrintArray(int *num, int N)
{ //...
}
где второй параметр - размерность

Для двумерного массива
C++
1
2
3
void PrintArray(int **num, int N, int M)
{ //...
}
Для трёхмерного
C++
1
2
3
void PrintArray(int ***num, int N, int M, int K)
{ //...
}
Для... Ну, вы поняли )
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.