Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 21
1

Возврат массива из функции

08.04.2012, 00:48. Просмотров 1401. Ответов 5
Метки нет (Все метки)

есть функция которая должна возвращать массив char вызываю так из другой функции
char *myArrChar;
myArrChar=SimbvolByCode(curren t_symbvol, &kolSimv_char, &kolSimv_int, &kolStrok, &nulevoiUroven);
возвращает какую то ерунду подскажите что я неправильно делаю

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "FontCalibri10.h"
 
extern char *SimbvolByCode (char inputCodeS, char *kolSimv_char, int *kolSimv_int, char *kolStrok, char *nulevoiUroven){
/* */if (inputCodeS == '!'){char locTempArr[3] = {0xFE,0x1,'\0'};  *kolSimv_char = 9; *kolStrok = 9; *nulevoiUroven = 0; return locTempArr;}/*33*/
    else if (inputCodeS == 'N'){char locTempArr[7] = {0xFF,0xC0,0x30,0x0C,0x03,0xFF,'\0'};  *kolSimv_char = 48; *kolStrok = 8; *nulevoiUroven = 0; return locTempArr;}/*78*/
    else if (inputCodeS == 'O'){char locTempArr[8] = {0x3C,0x42,0x81,0x81,0x81,0x42,0x3C,'\0'};  *kolSimv_char = 56; *kolStrok = 8; *nulevoiUroven = 0; return locTempArr;}/*79*/
    else if (inputCodeS == 'P'){
        char locTempArr[6] = {0xFF,0x88,0x88,0x88,0x70,'\0'};
        
        *kolSimv_char = 40;
        *kolStrok = 8;
        *nulevoiUroven = 0;
        return locTempArr;}/*80*/
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.04.2012, 00:48
Ответы с готовыми решениями:

Возврат массива из функции потока.
Привет! Создаю отдельный поток: pthread_create(&thread3, NULL, arr, NULL); функцией потока -...

Возврат массива из функции
Здравствуйте, Не пойму почему не работает данный код. Пишет cannot convert 'std::string*' to...

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

Возврат массива из функции
Здравствуйте! Нужно решить задачу, но для её решения я не могу понять как правильно вывести...

5
DU
1491 / 1137 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
08.04.2012, 00:52 2
вы возвращаете указатели на локальные переменные. после выхода из функции то, на что они указывали внутри функции больше не существует. память может перезатерется а может и нет. в любом случае так делать нельзя.
0
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 21
08.04.2012, 00:58  [ТС] 3
а как можно я очень новичок в си
0
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 21
08.04.2012, 01:39  [ТС] 4
люди может я слишком сложный вопрос задал или спят уже все просто
0
DU
1491 / 1137 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
08.04.2012, 02:25 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

если для вас пойдет вариант возврата константного указателя, то то, что у вас в функции можно определить в виде глобальных констант и их возвращать:

C++
1
2
3
4
5
6
const char GLOBAL_ARRAY[] = {1, 2, 3, 4};
 
const char* Get()
{
   return GLOBAL_ARRAY;
}
1
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 21
08.04.2012, 02:41  [ТС] 6
я пытаюсь сделать битовые карты для различных шрифтов. Спасибо за совет попробую.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.04.2012, 02:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Возврат массива из функции
Есть задача: используя функции, вычислить количество элементов заранее введённых массивов, которые...

Возврат массива из функции
Всем привет! Кто подскажет - можно ли в Паскале: 1. в функцию передавать массив? 2. из функции...

Возврат массива из функции
Программа должна переводить числа с 10 системы в двоичную... но почемуто выводит некорректно... Вот...

Возврат массива из функции
В объекте есть массив int state;, который мне нужно из него вытащить. Вижуал показывал ошибку,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.