реклама на сайте
подробности

 
 
> возврат указателя на массив из ф-ии, немного теории
Метценгерштейн
сообщение Jun 6 2017, 07:41
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



Есть ф-я, где локально объявлен некий массив. И я возвращаю указатель на этот массив. Смущает, что он локальный и на стеке. Он вернется в вызывающую ф-ю? Ничего по пути не потеряется?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AlexandrY
сообщение Jun 6 2017, 07:49
Сообщение #2


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Метценгерштейн @ Jun 6 2017, 10:41) *
Есть ф-я, где локально объявлен некий массив. И я возвращаю указатель на этот массив. Смущает, что он локальный и на стеке. Он вернется в вызывающую ф-ю? Ничего по пути не потеряется?

Ну судя по тому что вы профессионал, то знаете что делаете.
Поэтому могу только предложить идею в начале массива оставить некоторую страховочную область которая может засоряться эпилогами и прологами при вызовах функций.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 6 2017, 08:40
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(AlexandrY @ Jun 6 2017, 09:49) *
Ну судя по тому что вы профессионал, то знаете что делаете.

Да - профессионал в написании сообщений в форуме biggrin.gif

Человека, делающего подобное:
Цитата(Метценгерштейн @ Jun 6 2017, 09:41) *
Есть ф-я, где локально объявлен некий массив. И я возвращаю указатель на этот массив. Смущает, что он локальный и на стеке.

не то что профессионалом, а и просто знающим - язык не поворачивается назвать... smile3046.gif

Цитата(Метценгерштейн @ Jun 6 2017, 10:11) *
И по- хорошему, так нельзя делать.

Если хотите заложить сюрпризов в ПО, чтобы насолить работодателю, уволившему Вас с работы, то можно.

Чтобы вернуть некое содержимое из функции на стеке (в автоматической памяти), обычно такой массив создаётся в вызывающей функции и указатель передаётся в вызываемую.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Метценгерштейн   возврат указателя на массив из ф-ии   Jun 6 2017, 07:41
- - ViKo   Когда вернулись из функции, ее локального массива ...   Jun 6 2017, 08:00
- - Метценгерштейн   ну а без шуток? Получается, что массив удаляется. ...   Jun 6 2017, 08:11
|- - megajohn   Цитата(Метценгерштейн @ Jun 6 2017, 11:11...   Jun 6 2017, 08:43
- - Метценгерштейн   Профессионал- тот, кто не стесняется озвучить непо...   Jun 6 2017, 08:58
|- - megajohn   Цитата(Метценгерштейн @ Jun 6 2017, 11:58...   Jun 6 2017, 09:08
- - sigmaN   Голосую за то, что это просто толстый троллинг.   Jun 6 2017, 10:25
|- - demiurg_spb   Цитата(sigmaN @ Jun 6 2017, 13:25) Не ина...   Jun 6 2017, 10:38
- - conan   С точки зрения спецификации языка C доступ к локал...   Jun 8 2017, 19:35
- - AnatolyT   Не стоит рассчитывать на сохранность локальных пер...   Jun 8 2017, 19:56
|- - one_eight_seven   Цитата(AnatolyT @ Jun 8 2017, 22:56) Не с...   Jun 8 2017, 22:11
||- - conan   Цитата(one_eight_seven @ Jun 9 2017, 01:1...   Jun 9 2017, 00:34
||- - one_eight_seven   Цитата(conan @ Jun 9 2017, 03:34) Почему ...   Jun 9 2017, 06:54
|- - k155la3   Цитата(AnatolyT @ Jun 8 2017, 22:56) Не с...   Jun 9 2017, 08:18
|- - novikovfb   Цитата(k155la3 @ Jun 9 2017, 12:18) Вмест...   Jun 9 2017, 08:41
- - sigmaN   В функции winAPI совершенно не обязательно передав...   Jun 9 2017, 09:11
- - one_eight_seven   ЦитатаПри чем тут С11/C99???? Во-первых, они позво...   Jun 9 2017, 11:00
- - sigmaN   ЦитатаВо-первых, они позволяют создавать массивы, ...   Jun 9 2017, 11:08
- - one_eight_seven   ЦитатаК топику это как-то относится? )))) Если всё...   Jun 9 2017, 12:26
|- - jcxz   Цитата(one_eight_seven @ Jun 9 2017, 14:2...   Jun 12 2017, 07:01
|- - novikovfb   Цитата(jcxz @ Jun 12 2017, 11:01) И каким...   Jun 12 2017, 15:22
- - sigmaN   ЦитатаИ в чём проблема что на стеке? Вы использует...   Jun 12 2017, 09:18


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 11:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01377 секунд с 7
ELECTRONIX ©2004-2016