Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2018, 22:48   #1
Yudin
Пользователь
 
Регистрация: 11.01.2018
Сообщений: 49
По умолчанию (int*)

Что значит (int*)?
Пытался понять, как можно занести двумерный статический массив в функцию в качестве параметра. Вроде как понял, но нашел вариант, который "преобразовывает" двумерный массив в одномерный с сохранением тех же элементов. Вставлю код, который нашел в интернете, разбил его комментариями, чтобы проще было понять.

#include <iostream>
using namespace std;
//////////////////////////////////////////////////////
void arr(int *A, int n, int k) //функция, которая преобразовывает одномерный массив в двумерный и выводит его на экран
{
for (int i = 0; i < n*k; i++)
{
cout << A[i] << "\t";
}
cout << endl;
};
//////////////////////////////////////////////////////
int main()
{
int A[3][4];
for (int i = 0; i < 3; i++) //создание двумерного статического массива
{ //
for (int j = 0; j < 4; j++) //
{ //
A[i][j] = rand() % 10; //
cout << A[i][j] << "\t"; //вывод массива на экран
}
cout << endl;
}
cout << endl;
//////////////////////////////////////////////////////
arr((int*)A, 3, 4); //вызов функции; (int*) -??
system("pause");
return 0;
}


Простите, не знаю как вставить код "по-нормальному"...

Последний раз редактировалось Yudin; 16.01.2018 в 22:49. Причина: Я нуб
Yudin вне форума Ответить с цитированием
Старый 16.01.2018, 22:54   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

https://ru.wikipedia.org/wiki/%D0%9F...B8%D0%BF%D0%B0
p51x вне форума Ответить с цитированием
Старый 16.01.2018, 22:57   #3
Yudin
Пользователь
 
Регистрация: 11.01.2018
Сообщений: 49
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
а зачем преобразовывать, если массив А и так int....
Yudin вне форума Ответить с цитированием
Старый 16.01.2018, 23:21   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

А причем тут тип элементов? У вас А это двумерный массив, а нужен указатель.
p51x вне форума Ответить с цитированием
Старый 16.01.2018, 23:40   #5
Yudin
Пользователь
 
Регистрация: 11.01.2018
Сообщений: 49
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
А причем тут тип элементов? У вас А это двумерный массив, а нужен указатель.
То есть когда пишем (int*), то последующее превращается в указатель?
Yudin вне форума Ответить с цитированием
Старый 17.01.2018, 00:18   #6
Yudin
Пользователь
 
Регистрация: 11.01.2018
Сообщений: 49
По умолчанию

все, я понял
Yudin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать функцию double func(int mas[],int size) Кристина1998 Помощь студентам 35 07.11.2016 20:40
error C2664: itoa: невозможно преобразовать параметр 1 из 'int *' в 'int' + запись в файл niixon Общие вопросы C/C++ 4 14.09.2013 23:35
Как обратиться к элементу, если разные типы данных (int* и int) Fanyuus Общие вопросы C/C++ 4 03.06.2013 23:47
Двухзначное число int записать как пару однозначных int (c++) narien Помощь студентам 2 08.01.2012 15:10
функция float average(int arrray[],int from,int to) yuliyayuliya Помощь студентам 0 25.04.2011 21:55