Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Bohes
10 / 7 / 5
Регистрация: 10.07.2011
Сообщений: 358
Записей в блоге: 1
1

Как объявить указатель на массив через typedef и как инициализировать такой тип

08.07.2014, 16:43. Просмотров 999. Ответов 4
Метки нет (Все метки)

Как заставить заработать этот фрагмент кода? INT_L -- указатель на массив из 100 элементов типа char; Не получается в переменную C нормально инициализировать, g++ все время ругается на разные типы.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
typedef char (*INT_L) [100];
INT_L  sum (INT_L A, INT_L B)
{
    INT_L C = new char[100];
    for (int i = 0; i < 100; ++i) {
        *C[i] = (char)((*A[i]+*B[i])%10);
        *C[i+1] += (char)((A[i] + B[i])/10);
    }
    return C;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2014, 16:43
Ответы с готовыми решениями:

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

Как инициализировать такой массив
Нужно в проге(консольное приложение Win32) испоьзовать массив таких размеров...

Как объявить указатель на массив?
Читаю книгу С.Прата, наткнулся на это: short (*pas) = &amp;tell; // pas указывает...

Как узнать тип, переданный через указатель на void?
есть функция, принимает LPVOID, нужно узнать как тип переменной был передан, и...

Как инициализировать указатель на структуру?
Помогите розобратся, если можно с краткими примерами... __ как...

4
DrOffset
8142 / 4723 / 1154
Регистрация: 30.01.2014
Сообщений: 7,693
08.07.2014, 16:57 2
Bohes2013, new char[100] возвращает char *, а не char (*) [100]. используй char *.
0
Bohes
10 / 7 / 5
Регистрация: 10.07.2011
Сообщений: 358
Записей в блоге: 1
08.07.2014, 23:30  [ТС] 3
Цитата Сообщение от DrOffset Посмотреть сообщение
используй char *.
Можно поподробнее? У меня как раз с возникли сложности именно в этом.
0
mishelle92
68 / 66 / 37
Регистрация: 09.10.2012
Сообщений: 220
Завершенные тесты: 1
08.07.2014, 23:38 4
Лучший ответ Сообщение было отмечено как решение

Решение

Может поменять
C++
1
typedef char (*INT_L) [100];
на
C++
1
typedef char *INT_L;
А зачем вы пишете *C[i], *A[i], *B[i]?
0
Bohes
10 / 7 / 5
Регистрация: 10.07.2011
Сообщений: 358
Записей в блоге: 1
08.07.2014, 23:56  [ТС] 5
Цитата Сообщение от mishelle92 Посмотреть сообщение
А зачем вы пишете *C[i], *A[i], *B[i]?
Код претерпел очень много изменений, ошибка была в 4-й стоке, так что строки, расположенные ниже, я не успел еще поменять.
0
08.07.2014, 23:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2014, 23:56

Как объявить 10 значную переменную такой как 9876543210
Какой тип переменной используется для объявления 10 значной переменной такой...

Указатель на шаблон класса через typedef
Здравствуйте. Возникла следующая проблема: захотел определить указатель на...

Как инициализировать указатель произвольным адресом?
Как инициализировать указатель произвольным адресом? int *ptr; ptr = ? ;...


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

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

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