18 / 14 / 4
Регистрация: 02.04.2017
Сообщений: 125

Объясните доступным языком пару строк кода

09.04.2017, 21:27. Показов 4163. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
что обозначает подобный код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream> 
#include <cstdlib> 
 
using namespace std;
 
int** createInt(int m,int n) { 
 
//int** a = new int*[m]; 
for (int i = 0; i < m; i++) {
//a[i] = new int[n]; 
a[i] = new float[n];
 
}
 
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
cin >> a[i][j];
}
}
 
return a;
}
 
int main()
{
int m,n;//m-строка,n-столбец
 
//int** a = createInt(m, n);}
..............................
..............................
интересует значение вот такого рода строки ://int** createInt(int m,int n) я понял что это функция а что значат **?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.04.2017, 21:27
Ответы с готовыми решениями:

Господа, пожалуйста объясните мне доступным языком, что делает этот метод
public T Load(ref int autoincrement) { if (!File.Exists(filePath)) { var type =...

в паскале особо не шарю,так что если можно доступным языком объясните
что не правильно-то ? 1 Var F,x,arccos: real; begin writeln('vvedite x'); readln(x); if x&lt;0 then writeln ('Oshibka') else ...

Объясните пару частей из Кода на СИ
Это код перевода из любой системы счисления в другую , пределы от 2 до 36. Красный выделено то, что не понятно #include&lt;stdio.h&gt; ...

29
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
09.04.2017, 22:31
Студворк — интернет-сервис помощи студентам
Удалять надо, когда он уже не нужен. В конце main() обычно.
0
18 / 14 / 4
Регистрация: 02.04.2017
Сообщений: 125
09.04.2017, 23:11  [ТС]
C++
1
int** createInt(int m,int n)
На что он указывает?
0
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154
09.04.2017, 23:14
Имя массива есть укзатель на первый элемент его. Указатель на имя есть указатель на указатель первого элемента массива.
0
18 / 14 / 4
Регистрация: 02.04.2017
Сообщений: 125
09.04.2017, 23:18  [ТС]
То есть после завершения intcreate возвращается указатель на массив?
И когда начинает работать int create?
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
09.04.2017, 23:43
Цитата Сообщение от rayzor48 Посмотреть сообщение
И когда начинает работать int create?
Когда скажешь, тогда и работает.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int** createInt(const int m, const int n){
   //Инициализация указателя
   return указателя;
}
 
int main(){
  /*Куча всякого подготовительного кода
  Среди которого есть какая-нибудь переменная, названная Arr, 
  тип которой есть указатель на указатель: int**
 */
  Arr = createInt(10,20); //Вот ты сказал: явись - и функция пришла, это и есть начало работы
//Куча всякого кода
/* Очистка*/
 
 
  Arr = createInt(5,8); //Вот ты сказал: явись - и функция пришла, это и есть начало работы
//Куча всякого кода
  /*Очистка*/
 
 
  Arr = createInt(15,88); //Вот ты сказал: явись - и функция пришла, это и есть начало работы
 
/*Очистка*/
 
}
Добавлено через 13 минут
Цитата Сообщение от gavrasio Посмотреть сообщение
Имя массива есть укзатель на первый элемент его.
Это не так. Имя массива не есть указатель, а приводится к указателю на первый элемент массива. Само по себе имя массива - это просто имя массива, не указатель.
0
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154
10.04.2017, 00:03
Ребята, спасайте. Имя массива - есть указатель на его первый болт. Я не прав? Это есть адрес его первого члена.
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
10.04.2017, 01:10
Конечно не прав.
4.2 Array-to-pointer conversion [conv.array]
An lvalue or rvalue of type “array of N T” or “array of unknown bound of T” can be converted to a prvalue
of type “pointer to T”. The result is a pointer to the first element of the array.
Мой хромой перевод для тех, кому сложно перевести.
lvalue или rvalue вида "массив из N элементов типа Т" или "массив с неизвестным числом элементов типа Т" может быть приведёно в prvalue вида "указатель на Т". Результат сего есть указатель на первый элемент массива.
Вы путаете указатель на массив с непосредственно массивом. Указатель на массив, само собой разумеется, указывает на первый элемент массива и в то же время является именем массива, на который сам и указывает, а обычный массив - это обычный массив, имя которого компиляторы умеют приводить к указателю на первый свой элемент.

Не по теме:

А clang, гад, не делает из имени массива prvalue, чем нарушает выцепленное мною в цитату, т. е. или нарушает стандарт, или делает вид, что нарушает стандарт. Вывод основан на выводимом сообщении об ошибке, для prvalue они другие.

0
18 / 14 / 4
Регистрация: 02.04.2017
Сообщений: 125
10.04.2017, 06:51  [ТС]
В связи с прошлыми сообщениями скажите мне на что указывает эта строка
C++
1
int** createInt(int m,int n)
, спасибо
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
10.04.2017, 13:15
Лучший ответ Сообщение было отмечено rayzor48 как решение

Решение

Сказали же уже, строка ни на что не указывает.
По строке можно сказать, что объявлена функция, названная createInt, которая принимает два параметра, типы у которых int. Эта функция возвращает какое-то значение, тип которого указатель на указатель, указывающий на значение типа int. В низкоуровневом С++ обычно указателем на указатель представляют двумерный массив, точнее это указатель на двумерный массив. Количество звёздочек = мерность массива. (Одномерный - одна, двумерный две, 5-мерный - пять и т. д., хотя никто обычно борзомерные массивы не использует, есть более удобные варианты написания кода)

Хочешь понять - вникай в указатели. Никто не сможет указатели объяснить в двух словах. Функция возвращает указатель на указатель, чтобы понять, что такое указатель на указатель, нужно понять что такое указатель.
2
18 / 14 / 4
Регистрация: 02.04.2017
Сообщений: 125
10.04.2017, 17:38  [ТС]
Ты же смог) Коротко и понятно ответил на вопрос, как я и просил
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.04.2017, 17:38

Библиотеки и компоненты доступным языком
Здравствуйте, помогите, пожалуйста, простым языком и крайне понятно. Я скачала библиотеку, разархивировала. Как теперь я могу...

задачка из javarush, объясните пару строчек кода
Задача стояла так: Введи с клавиатуры 10 слов в список строк, метод doubleValues должен удваивать слова по принципу a,b,c -&gt;...

Объясните пару строчек кода из метода расчета площади многоугольника разбитого на треугольники
Объясните тупому два метода,если что это расчет площади многоугольника разбитого на треугольники. static intInput() { ...

Может кто-нибудь знает где про графы написано доступным языком?
где можно почитать про графы и кто подскажет, как их описывать в программировании

Подскажите что-нибудь написанное, на ваш взгляд, понятным и доступным языком по нормальным алгоритмам Маркова!
Подскажите что-нибудь написанное, на ваш взгляд, понятным и доступным языком по нормальным алгоритмам Маркова!!!Очень нужно разобраться с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru