Передача двумерного массива в функцию
Как я знаю, имя массива и указателя тождественны в С++. Из этого следует, что можно инициализировать указатель, а работать с ним, как с именем массива, добавив индекс (квадратный скобки) или смещение к имени массива и круглые скобки со звёздочкой... Но не в этом суть. Я пробовал ввести передачу в функцию двумерного массива (столбы и строки) - не вышло. Очевидно, что где-то вкралась ошибка.
Вот код: Код cpp: Код:
#include "stdafx.h" |
Всё очень просто.
В С++ в функцию передается не сам массив, а его адрес (точнее адрес его первого элемента). По этой причине Вы можете в аргументах функции передать или адрес его первого элемента, или имя массива, преобразованное к указателю (int *). Если не сделать преобразование типа, то компилятор даст ошибку. А вот в самой функции с массивом можно работать как угодно, считая его хоть одномерным, хоть многомерным, хоть с плавающей точкой (float) - компилятор ошибку не даст. |
Часовой пояс GMT +4, время: 00:47. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.