Форум программистов, компьютерный форум CyberForum.ru

char[] - C++

Войти
Регистрация
Восстановить пароль
 
Евгений256
0 / 0 / 0
Регистрация: 21.07.2013
Сообщений: 4
21.07.2013, 11:32     char[] #1
Кликните здесь для просмотра всего текста
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
29
30
31
32
33
34
#include <iostream>
 
using namespace std;
#define N 4
#define S 2
 
int main()
{
    int rate;
    int s=0;
 int massiv[N][S];
 char *massiv2[N+2]{"\0","\0","двоек\0","троек\0","четвёрок\0","пятёрок\0"};
 
 for(int i=0;i<N;i++)
 {
  cin>>massiv[i][0];
  cin>>massiv[i][S-1];
 }
 
 for(int i=0;i<N;i++)
 s+=massiv[i][S-1];
 
 cout<<"Rezultati ekzamena:\n";
 cout<<"---------------------\n";
 for(int i=0;i<N;i++)
 {
 rate=((float)massiv[i][S-1]/s)*100;
  cout<<massiv2[massiv[i][0]]<<"\t";
 cout<<massiv[i][S-1]<<"\t";
 cout<<rate<<"%"<<endl;;
 }
 
    return 0;
}


Решал очередную задачку и обнаружил, что при инициализации массива char[6] шестью элементами у меня вылетает ошибка: too many initializers for char [6]. Но если инициализировать массив указателей, то всё отлично работает.
Почему так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.07.2013, 11:32     char[]
Посмотрите здесь:

C++ Невозможно преобразовать из char в const char
C++ Как перейти от char[100] к *char?
C++ E2034 Cannot convert 'char' to 'char *'
Запись в *char элемента из массива *char[i] C++
C++ Разница между char и signed char
C++ string[] в char[][] или char[]
C++ Невозможно преобразовать char* в char
Char *(UTF-8) -> char *(ANSI) C++
C++ В чем разница между char* и char[]?
В чем разница между char* и char ** C++
Сравнение разных типов *Char и Char C++
C++ Разница между new char[] и new char[]()

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1238 / 987 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
21.07.2013, 11:41     char[] #2
Ну, да... char[6] — массив из шести символов, (char*)[6] — массив из шести указателей на символ (читай: строк). 'x' — символ. "foo" — строка.

Влезет ли строка "строка" в массив из шести семи char — зависит от реализации.
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,056
Записей в блоге: 10
Завершенные тесты: 1
21.07.2013, 11:50     char[] #3
Проблема в том что ты = в 12-й строке забыл.
OhMyGodSoLong, он объявил массив указателей на char, т.ч. все правильно. Осталось только const в начале добавить.
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.07.2013, 11:52     char[] #4
lazybiz, ТС не про то спросил. Как он это делал:
Цитата Сообщение от Евгений256 Посмотреть сообщение
при инициализации массива char[6] шестью элементами у меня вылетает ошибка:
в коде нет.
А вот это в коде есть:
Цитата Сообщение от Евгений256 Посмотреть сообщение
Но если инициализировать массив указателей, то всё отлично работает.
Yandex
Объявления
21.07.2013, 11:52     char[]
Ответ Создать тему
Опции темы

Текущее время: 21:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru