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

Передача функции статического двумерного массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ String для коротких строк http://www.cyberforum.ru/cpp-beginners/thread932810.html
Здорова! Тут от пытаюсь разобрать такое понятие как класс String оптимизированный для коротких строк, это такой класс длинна строки у которого не превышает 8 символов. От интересно как его оптимизировать или он уже сам по себе будет оптимизирован из за того что строка будет короткая? Какие у него преимущества? Просто я с этим понятием недавно столкнулся, раньше как то не задумывался. Конечно...
C++ Задача Timus Почему не проходит тест? Может кто знает? http://acm.timus.ru/problem.aspx?space=1&num=1001 #include <vector> int main() { std::vector<int> v; http://www.cyberforum.ru/cpp-beginners/thread932807.html
Универсальный класс для строк C++
Здорова господа! Есть задачка "Подумайте как можно спроектировать идеальный класс для универсальной работы с текстами. Назовите его Text. Какими он будет обладать возможностями? Какую нагрузку на реализацию вызовут ваши «идеальные» средства?" Давайте ее хотя бы теоретически мб решим?
C++ перевод строки CHAR
Добрый день уважаемые форумчане) Пишу в IARе под AVR столкнулся с проблеммой вычесть из строки лишние символы. к примеру приведу такой код void SHOW_TEXT(char *text, int color, int colors, int fon) { char *sk; nlcd_Box(0, 0, 132, 132, 1, fon); sk=text; nlcd_Text(sk,10,5,color,fon);
C++ Не разбиваются шаблоны класса на файлы http://www.cyberforum.ru/cpp-beginners/thread932765.html
Всем привет. Изучаю С++, всегда разбивал свои программы на файлы и радовался, но тут начал изучать шаблоны классов, и ничего не выходит, страшные ошибки выдает. Вот написал маленькую пробную программку для этой темы. Вот код: //Class.h ======================================== #include <iostream> #include <time.h> using namespace std; template <typename t> class Array{
C++ Ошибка при попытке подключить внешнюю библиотеку Делал всё по инструкции, только пути другие. Пишет: Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ __imp__createDevice в функции _main Ошибка 2 error LNK1120: неразрешенных внешних элементов: 1 Гуглёж не помог. Когда-то вроде с glut вылезла такая же проблема, но я не помню, как решил. Пробовал подсовывать и 32-е, и 64-е либы. Пробовал по-всякому, всё одинаково. Ещё пробовал... подробнее

Показать сообщение отдельно
StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
05.08.2013, 19:20  [ТС]     Передача функции статического двумерного массива
Поправьте пожалуйста, если я в чём-то ошибаюсь.

Указатель - это ячейка в памяти, которая после инициализации хранит адрес другой ячейки в памяти, хранящей некоторое значение.
После применения к указателю операции разыменования, мы фактически попадаем в ту ячейку, хранящую значение.
Ссылка - это альтернативное имя для переменной, к которой привязана ссылка.
Тогда имя массива - это указатель на первый элемент в массиве, который хранит адрес этого первого элемента.
Допустим:
C++
1
2
3
4
5
6
7
8
9
10
11
int array1[ 10 ] = { 0 }; //array1 ни что иное, как &array1[ 0 ]
//тогда
int * arrayPtr = array1; //arrayPtr теперь хранит тот же адрес первого элементы &array1[ 0 ]
//а если
int * arrayPtr1 = &arrayPtr; //то arrayPtr1 будет хранить адрес, по которому расположен указатель arrayPtr
//далее
cout << array1[ 0 ] << *arrayPtr << arrayPtr[ 0 ] << *array1 << endl; //выведет 0 во всех случаях
cout << arrayPtr << array1 << endl; // выведет адрес, по которому расположен первый элемент в массиве
cout << arrayPtr1 << endl; // выведет адрес, по которому расположен указатель arrayPtr
cout << *arrayPtr1 << endl; // выведет то, что находится по адресу указателя arrayPtr, а именно адрес первого элемента в массиве
cout << *( *arrayPtr1 ) << endl; // выведет значение первого элемента в массиве
Тогда почему, если мне нужно передать arrayPtr, то нужно в функции специфицировать, что в качестве аргумента поступит указатель, а когда я просто передаю имя массива array1, то ничего специфицировать не нужно? Помогите, пожалуйста, разобраться в этих тонкостях. И ещё, совпадает ли адрес array1 и адрес первого элемента в массиве?
 
Текущее время: 15:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru